Collection<String> nameList = Arrays.asList("John", "Bill");
Aggregation agg = newAggregation(
addFields()
.addField("scorrrz").withValue(arrayOf(nameList).indexOf("$name"))
.build()
);
A projeção da agregação é um
$addFields
palco com um $indexOfArray
operação de matriz de agregação. Isso retornará um campo scorrrz
, e terá valor de índice ou -1
quando não há correspondência. Isso funcionou bem com Spring Boot v2.3.10 e MongoDB v4.2.8. A execução desta agregação passa o pipeline
agg
para o MongoTemplate#aggregate
método.