Benim yapısı şöyledir:Nesne, seçili birkaç gömülü nesneyle nasıl geri dönülür? aşağıdaki gibi
{
day: x,
events:
[
{
year: y,
info: z
}
]
}
şimdi ben bir hata döndürür yok ama (yanlış olan) de bir şey gösterir aşağıdaki sorguyu yarattı kadar. Ben _ID göre gruplandırmak gerekir okumak, ama ikinci $ maçı memnun nesnelerle diziyi yeniden nasıl bilmiyorum kadarıyla
db.days.aggregate([
{
$match:
{
$and:
[
{
'day': 'March_13'
},
{
'events.year': '1870'
},
{
'events.info': {$regex: "./French./"}
}
]
}
},
{
$unwind: {path: "$events"},
},
{
$match:
{
'info': { $regex: '.*French.*'}
}
}])
.
Lütfen bir göz atın ve belki de ilk sorgunun neden bir grup bloğunda çalışmadığını ve neden önerilmediğini söyler misiniz?
{
"day" : "March_13",
"events" :
[
{
"year" : "1929",
"info" : "Peter Breck, American actor (d. 2012)"
},
{
"year" : "1929",
"info" : "Joseph Mascolo, American actor"
},
{
"year" : "1929",
"info" : "Zbigniew Messner, Polish economist and politician, 9th Prime Minister of the Republic of Poland (d. 2014)"
},
{
"year" : "1929",
"info" : "Bunny Yeager, American model and photographer (d. 2014)"
}
]
}
Ve burada "Amerikan" kelimesi sorgulama başarılı olup olamayacaklarını geçerli::
Bazı örnek veriler burada
{
"day" : "March_13",
"events" :
[
{
"year" : "1929",
"info" : "Peter Breck, American actor (d. 2012)"
},
{
"year" : "1929",
"info" : "Joseph Mascolo, American actor"
},
{
"year" : "1929",
"info" : "Bunny Yeager, American model and photographer (d. 2014)"
}
]
}
Temelde ben alan bilgisi içeriyorsa kontrol etmek istiyorum aranan kelime ve eğer varsa onu dizide tutuyorum.
sen [değiştir] bazı örnek belge ve beklenen sonucu içerecek şekilde, yayını elde istediğini göstermek için Can toplama framewrok ile? – chridam
@chridam Lütfen düzenlemeyi kontrol edin. –