sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Aggregation kommando till Java-kod

asList("$modifiedon",1000) ska vara asList("$modifiedon","$createdon") enligt den fungerande pipeline som du tillhandahåller.

Som du har gjort redigeringen. Kan se att problemet är att du lägger till "då" och "annat" till "$gt"-dokumentet istället för "om".

Så istället för:

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öra :

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 - $text operator sök efter fras ELLER ord

  2. Hur man får användarinformation från mongodb i node.js

  3. mongoengine - Fråga på ListField i EmbeddedDocumentField

  4. Pymongo Regex $alla flera söktermer