sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB $addField a $indexOfArray v Spring Data

Collection<String> nameList = Arrays.asList("John", "Bill");

Aggregation agg = newAggregation(
                    addFields()
                     .addField("scorrrz").withValue(arrayOf(nameList).indexOf("$name"))
                     .build()
);

Projekce agregace je $addFields fázi s $indexOfArray operace agregačního pole. Tím se vrátí pole scorrrz a bude mít hodnotu indexu nebo -1 když není shoda. To fungovalo v pořádku s Spring Boot v2.3.10 a MongoDB v4.2.8.

Spuštění této agregace prochází kanálem agg do MongoTemplate#aggregate metoda.




  1. Jak nakonfiguruji svůj MongoDB tak, aby zohledňoval UTF-8?

  2. Rozdíl MongoDB mezi kódem chyby 11000 a 11001

  3. pushOrModify jako operátor pro vnořený dokument mongo

  4. Chyba duplicitního klíče Mongoose upsert