2017-12-07 2 views
0

Sehr geehrte,Aggregate Datumsbereich Mongoose

Ich versuche, Wert in meinem Mongo db aber die Aggregation Return leere Array zu zählen.

Meine Abfrage sieht wie folgt aus:

Order.aggregate(
      [ 
       { 
        '$match': { 
         createdAt : { 
          '$gte' : new Date("2017-11-29").setHours(14,43,0,0), 
          '$lt' : new Date() 
         } 
        } 
       }, 
       { 
        $group: { 
         _id: null, 
         count: { 
          $sum: 1 
         } 
        } 
       } 
      ] 
     ).exec().then(r => { 
      console.log(r); // [] 
     }); 

Eine andere (und schmutzig) Abfrage funktioniert gut:

Order.find({ 
      createdAt : { 
       '$gte' : new Date("2017-11-29").setHours(14,43,0,0), 
       '$lt' : new Date() 
      } 
     }).exec().then(orders => { 
      console.log(orders.length);// 1463 

     }) 

Habe ich etwas verpasst?

Vielen Dank im Voraus

Antwort

1

erklären, warum nicht

Order.count({ 
      createdAt : { 
       '$gte' : new Date("2017-11-29").setHours(14,43,0,0), 
       '$lt' : new Date() 
      } 
     }).exec().then(count=> { 
      console.log(count);// 1463 

     }) 
+0

Dank ist es nicht, warum ich nicht die Aggregation durchführen kann, aber es Antworten auf meine kurzfristige Ausgabe – user3279327

+0

ich auf jeden Fall für dieses Problem überprüfen und meine Antwort aktualisieren entsprechend – Shubham