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

Příkaz MongoDB Agregation to Java code

asList("$modifiedon",1000) by měl být asList("$modifiedon","$createdon") podle vámi poskytnutého pracovního potrubí.

Jak jste provedli úpravu. Vidíte, že problém je v tom, že k dokumentu „$gt“ připojujete „then“ a „else“ místo „if“.

Takže místo:

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")
             )
         )
     )
)); 

Měli byste udělat:

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. Testy Rspec náhodně selžou při analýze objektů ActiveRecord generovaných událostmi Mongoid

  2. mongodb vytáhne všechny prvky z pole

  3. $unionWith – MongoDB je ekvivalent UNION ALL

  4. Proč má Mongoose jak schémata, tak modely?