Collection<String> nameList = Arrays.asList("John", "Bill");
Aggregation agg = newAggregation(
addFields()
.addField("scorrrz").withValue(arrayOf(nameList).indexOf("$name"))
.build()
);
Projekcja agregacji to $addFields
stół montażowy z $indexOfArray
działanie tablicy agregacji. To zwróci pole scorrrz
, i będzie miał wartość indeksu lub -1
kiedy nie ma dopasowania. Działało to dobrze z Spring Boot v2.3.10 i MongoDB v4.2.8.
Uruchomienie tej agregacji przekazuje potok agg
do MongoTemplate#aggregate
metoda.