我遇到了一個很困難的問題,我覺得這很容易。我沒有找到任何答案。我在貓鼬4.5.4和MongoDB 2.2.2貓鼬 - 獲得與_id匹配的每個類別的最後一個
我有一個數據庫看起來像這樣(爲簡單起見):
[
{
_id:12547896
category:1,
state:1,
member:256942158,
laboratory:69547231,
dt: 8-12-2015
},
{
_id:11547528
category:1,
state:3,
member:256942158,
laboratory:69547231,
dt: 21-12-2015
},
{
_id:1554417
category:2,
state:2,
member:256942158,
laboratory:65827231,
dt: 18-12-2015
},
{
_id:11547528
category:1,
state:3,
member:256942158,
laboratory:69547231,
dt:9-12-2015
},
{
_id:1554417
category:3,
state:2,
member:256942158,
laboratory:65827231,
dt: 9-12-2015
}
]
我有3個類別。我想檢索一個數組,其中包含每個類別的最後一個元素(一個用於類別1,另一個用於類別2,等等),匹配'member'。如果可能的話,我儘量避免多次打電話,並學習清潔使用貓鼬。
我tryed這一點:
Collection.aggregate([
{
$unwind:'$category'
},
{
$match:{
member:data.id
}
},
{
$sort: {
data: -1
}
},
{
$project: {
_id:0,
category:'$category',
state:'$state',
date:'$date'
}
},
{
$limit: 3
}
],function(err,ts){
console.log(ts);
});
...但我沒有得到每個類別之一。我得到以下內容:
[
{
_id:12547896
category:1,
state:1,
member:256942158,
laboratory:69547231,
dt: 8-12-2015
},
{
_id:11547528
category:1,
state:3,
member:256942158,
laboratory:69547231,
dt:9-12-2015
},
{
_id:1554417
category:3,
state:2,
member:256942158,
laboratory:65827231,
dt: 9-12-2015
}
]
我在做什麼錯了?我嘗試了一切,我可以在網上找到...請!