sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB Aggregation-kommando til Java-kode

asList("$modifiedon",1000) skal være asList("$modifiedon","$createdon") i henhold til den arbejdspipeline, du har leveret.

Som du har lavet redigeringen. Kan se, at problemet er, at du føjer "dengang" og "andet" til "$gt"-dokumentet i stedet for "hvis".

Så i stedet for:

AggregateIterable<Document> iterable = collection.aggregate(

asList( new Document("$redact", 
         new Document("$cond", 
             new Document("if", 
                 new Document("$gt",
                      asList(new Document("$subtract",
                          asList("$modifiedon", "$createdon")
                      ),1000 * 60 * 60 * 24)
              ).append("then", "$$KEEP")
               .append("else", "$$PRUNE")
             )
         )
     )
)); 

Du bør gøre :

AggregateIterable<Document> iterable = collection.aggregate(

asList( new Document("$redact", 
         new Document("$cond", 
             new Document("if", 
                 new Document("$gt",
                      asList(new Document("$subtract",
                          asList("$modifiedon", "$createdon")
                      ),1000 * 60 * 60 * 24)
              )
             ).append("then", "$$KEEP")
               .append("else", "$$PRUNE")
         )
     )
));



  1. Mongodb Geospatial indeks understøtter ikke $box?

  2. Mongo i testcontainere

  3. Sådan styres projektionsdefinitionen i MongoDb ved hjælp af C#

  4. Kan ikke installere mongodb doktrin i symfony2 med komponist