MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB $ addField e $ indexOfArray nei dati di primavera

Collection<String> nameList = Arrays.asList("John", "Bill");

Aggregation agg = newAggregation(
                    addFields()
                     .addField("scorrrz").withValue(arrayOf(nameList).indexOf("$name"))
                     .build()
);

La proiezione dell'aggregazione è un $addFields stage con un $indexOfArray operazione dell'array di aggregazione. Questo restituirà un campo scorrrz e avrà un valore di indice o -1 quando non c'è corrispondenza. Funzionava bene con Spring Boot v2.3.10 e MongoDB v4.2.8.

L'esecuzione di questa aggregazione passa la pipeline agg al MongoTemplate#aggregate metodo.