Collection<String> nameList = Arrays.asList("John", "Bill");
Aggregation agg = newAggregation(
addFields()
.addField("scorrrz").withValue(arrayOf(nameList).indexOf("$name"))
.build()
);
Aggregeringens projektion är en $addFields
steg med en $indexOfArray
aggregationsarrayoperation. Detta kommer att returnera ett fält scorrrz
, och det kommer att ha indexvärde eller -1
när det inte finns någon match. Detta fungerade okej med Spring Boot v2.3.10 och MongoDB v4.2.8.
Körningen av denna aggregering passerar pipelinen agg
till MongoTemplate#aggregate
metod.