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.