Collection<String> nameList = Arrays.asList("John", "Bill");
Aggregation agg = newAggregation(
addFields()
.addField("scorrrz").withValue(arrayOf(nameList).indexOf("$name"))
.build()
);
La proyección de la agregación es un $addFields
escenario con un $indexOfArray
operación de matriz de agregación. Esto devolverá un campo scorrrz
, y tendrá un valor de índice o -1
cuando no hay coincidencia. Esto funcionó bien con Spring Boot v2.3.10 y MongoDB v4.2.8.
La ejecución de esta agregación pasa la canalización agg
al MongoTemplate#aggregate
método.