Ben aşağıdaki biçimde bir koleksiyona sahip:
{
"_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"
}
Ben durumu hakkında maddeden alanını sorgulamak istiyorsanız böyle 'etkin' olarak statüsü ile nesne sadece dizide döndürülen ve Ayrıca sorguda sadece son 2 tanesi döndürülür.
Şu anda bu işlem için $ filtresi kullanıyorum ama (ben ne arzu için gerekli olduğunu düşünüyorum) $ filtresi birlikte $ dilim kullanabilmek için değilim. Ya şimdi alıyorum doğru sonuçturdb.collection('collection').aggregate([
{$match: {'status': 'active'}},
{
$project: {
'items': {
$filter: {
input: '$items',
as: 'item',
cond: {$eq: ['$$item.status', 'active']
}
}
}
}]);
, onun o kalemlerinde alan tüm nesneleri döndürür sadece ve sadece son 2 nesneler istiyorum: şu benim sorgu şu anda böyle görünüyor.
Müthiş! Teşekkürler ;) – HVT7