0
Belgeye.
Sorgunun çalıştığını lütfen unutmayın.
db.days.aggregate([
{ $match: { 'day' : 'March_1'}},
{ $project: {
_id : 0,
day: 1,
events: {$filter: {
input: '$events',
as: 'event',
cond: {$eq: ['$$event.year', '2002']}
}}
}}
])
Denemem ancak bu başarısız oldu ve sizin yardımınıza ihtiyacım var. Ben alıyorum
Document query = new Document("$match", new Document("day", day)).
append("$project", new Document("_id", 0).
append("day", 1).
append("events", new Document("$filter", new Document(
"input", "$" + category).
append("as", "event").
append("cond", new Document("$eq", Arrays.asList("$$event.year", year))))));
hata
"{ "ok" : 0.0, "errmsg" : "A pipeline stage specification object must contain exactly one field.", "code" : 16435 }"
Çok teşekkür ederim olduğunu!
kullanın aynı nesnede $ maçı $ ve projeyi koymayın? – Arcath
Lütfen düzenlemeye bakın. Teşekkür ederim! –
Sanırım sorun, bir dizi yerine bir belge oluşturmaktır. Ancak Belgeleri kullanarak bir dizi oluşturan hiçbir şey bulamadım. –