3
我有以下格式的集合:
{
"_id": 123,
"items": [{
"status" : "inactive",
"created" : ISODate("2016-03-16T10:39:28.321Z")
},
{
"status" : "active",
"created" : ISODate("2016-03-16T10:39:28.321Z")
},
{
"status" : "active",
"created" : ISODate("2016-03-16T10:39:28.321Z")
}
],
"status" : "active"
}
我想在狀態查詢的項目場,使得與地位對象「主動」數組中僅返回,在查詢中也只返回最後2個。
目前我使用$過濾此操作,但我不能夠使用$切片與$過濾(我認爲這是需要什麼,我的願望)一起。下面是我查詢的外觀現在:
db.collection('collection').aggregate([
{$match: {'status': 'active'}},
{
$project: {
'items': {
$filter: {
input: '$items',
as: 'item',
cond: {$eq: ['$$item.status', 'active']
}
}
}
}]);
什麼我得到現在的問題是正確的結果,它只是它返回的所有對象的項目場,我只是想最後2個對象。
太棒了!謝謝 ;) – HVT7