3
我有幾個記錄這樣MongoDB的總框架查詢,最大日
userid purchased brand
1 2012-1-21 honda
1 2013-1-1 toyota
1 2013-2-30 mercedez
2 2013-1-1 honda
2 2012-1-1 toyota
2 2013-12-13 mercedez
我想要得到的用戶記錄,最大購買日期。像以下
1 2013-2-30 mercedez
2 2013-12-13 mercedez
我試圖用戶mongodb聚合框架工作,但有正確的查詢問題。
db.carsrecord.aggregate([{"$match" :{"userid":{"$in":[1,2,3,11]}}} ,
{"$group":{"_id": {"uid":"$userid"},timecreated:{"$max":"$purchased" }}} ])
它返回我正確的隱藏和時間,但沒有返回汽車品牌。
"result" : [
{
"_id" : {
"uid" : 1
},
"timecreated" : ISODate("2013-10-03T20:01:45.366Z")
}
],
"ok" : 1
感謝
感謝很多這個對我有用。 –
也可以格式化輸出。此刻放出來就是這個樣子{ \t \t \t 「_id」:{ \t \t \t \t 「UID」:1 \t \t \t}, \t \t \t 「timecreated」:ISODate(「2013-10-03T20 :01:45.366Z「), \t \t \t」品牌「:豐田 \t \t}。相反,我想獲得{uid:1,timecreated:2013,品牌:「toyota」} –
您可以運行額外的$項目階段...類似於:$ project:{uid:'$ _ id.uid',timecreate: {$ year:'$ timecreated'},品牌:1,_id:0}提取年份,你可以使用這個(我希望我使用正確的語法將在稍後測試):http://docs.mongodb.org/manual/reference/aggregation/operator-nav /#date-operators – attish