sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB $addField och $indexOfArray i Spring Data

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.




  1. MongoDB kapslade objektaggregationsräkning

  2. Redis pub/sub on rails

  3. $expr arrayElementAt fungerar inte i aggregering för inbäddade dokument

  4. Mongo hittar dubbletter för poster för två eller flera fält