2017-07-11 55 views
1

我想查詢在特定月份創建的數據。找到軌道中的特定月份的數據mongodb

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

聚合不是給我任何結果。

我得到了郵遞員響應,

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

回答

0

個人而言,我更喜歡collection.aggregateaggregates。其次,$match管道是錯誤的。最後,即使它在Ruby中工作,也不要寫05,某些語言可能會將其解釋爲八進制而不是十進制。

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

很好用。 thnx – ashusvirus

+0

我將如何在此插入查詢元素?就像我們插入的情況一樣。 – ashusvirus

+0

簡單更多'$ match'元素。我發現這個文檔對這個https://docs.mongodb.com/manual/aggregation/非常有幫助 –

相關問題