Mongo kabuk sorguda yuvalanmış dizinin yalnızca eşleşen alanlarını yansıtmak ve umarım basit bir soru nedir sahip Nasıl: Bir olan bir alan vardır nerede yuvalanmış şema varBen mongodb için oldukça yeni
Bu dizinin her bir öğesinin kendisi bir dizi alanı olan bir nesne olduğu dizi. Örneğin
:
> db.mytest.insert({
name: 'a',
top: [
{x:1, y:2, nest: [{p:1, q:2}, {p:2, q:3}]},
{x:2, y:3, nest: [{p:4, q:5}, {p:6, q:7}]}
]
})
ben gayet p belirli değerleri sorgulayabilir ve hatta top
ilk eşleştirme elemanına benim sonucunu sınırlayabilir:
> db.mytest.findOne({'top.nest': {$elemMatch: {p:6}}}, {'top.nest.$': 1})
{"_id":ObjectId(...), top: [{x:2, y: 3, nest: [{p:4, q:5}, {p:6, q:7}]}]}
getiriyor Benim sorum: {'top.nest.$': 1}
ve {'top.$': 1}
benim projeksiyon dokümanı olarak aynı sonucu döndürür. Arama sonuçlarım yalnızca nest
'un ilk eşleşen öğesini içerecek şekilde nasıl sınırlandırabilirim?
Bu sorgu türünün sonucu üzerinde yineleyen ikinci bir geçişe ihtiyacım var mı?