我有一個蒙戈集合,其中包含看起來像這樣的文件:
{
"record" : "1",
"site_id" : "abc1",
"month" : "2013-12",
"recorded" : ISODate("2013-12-18T05:00:00.000Z"),
"status" : "OK",
"comment" : "blah blah blah..."
}
{
"record" : "2",
"site_id" : "abc1",
"month" : "2013-12",
"recorded" : ISODate("2013-12-18T06:00:00.000Z"),
"status" : "OK",
"comment" : "blah blah blah..."
}
{
"record" : "3",
"site_id" : "abc2",
"month" : "2013-12",
"recorded" : ISODate("2013-12-18T06:00:00.000Z"),
"status" : "OK",
"comment" : "blah blah blah..."
}
{
"record" : "4",
"site_id" : "abc2",
"month" : "2013-12",
"recorded" : ISODate("2013-12-18T11:00:00.000Z"),
"status" : "ERROR",
"comment" : "something wrong"
}
{
"record" : "5",
"site_id" : "abc2",
"month" : "2013-11",
"recorded" : ISODate("2013-11-17T08:00:00.000Z"),
"status" : "OK",
"comment" : "blah blah blah..."
}
我想用$組操作員作出貓鼬調用返回的所有值最新的記錄(由ISODate()確定)爲每個site_id的給定月份。所以,在2013-12的這個月,我想要回到記錄2(2013-12最新的abc1)和記錄4(最新的2013-12的abc2)。
我可以使用map/reduce函數來做到這一點,但我想知道它是否適用於Mongoose API和聚合框架(不調用map/reduce函數)。我覺得應該是這樣,但我一直無法使它工作!
您可以編輯的問題,包括一些你做了什麼沒有工作的嘗試?通過聚合框架和流水線,最好是一步一步地工作。 – WiredPrairie