2017-07-11 2 views
1

Ich versuche, die Daten in einem bestimmten Monat abzufragen.finden Sie Daten für einen bestimmten Monat in Schienen mongodb

@events = Event.aggregates([ 
           { 
            '$project': { 
             _id: 1, 
             created_at: 1, 
             'month': {'$month': '$created_at'} 
            }, 
           }, 
           {month: {'$match': 05}} 
          ]) 

die Aggregate gibt mir kein Ergebnis.

ich Antwort in Postbote bekommen,

{ 
    "count": 0, 
    "sum": null, 
    "avg": null, 
    "min": null, 
    "max": null 
} 

Antwort

0

Persönlich bevorzuge ich collection.aggregate über aggregates. Zweitens war die $match Pipeline falsch. Schließlich, auch wenn es in Ruby funktioniert, schreiben Sie nicht 05 und einige Sprachen könnten das als oktal statt als dezimal interpretieren.

@events = Event.collection.aggregate([ 
           { 
            '$project': { 
             _id: 1, 
             created_at: 1, 
             'month': {'$month': '$created_at'} 
            }, 
           }, 
           {"$match" => {"month" => {'$eq': 5}}} 
          ]).to_a 
+0

funktioniert gut. thnx – ashusvirus

+0

Wie füge ich hier Abfrageelemente ein? wie fügen wir dort ein. – ashusvirus

+0

Einfach mehr '$ match' Elemente. Ich fand die Dokumentation sehr hilfreich auf diesem https://docs.mongodb.com/manual/aggregation/ –

Verwandte Themen