मुझे लगता है कि आप जो चाहते थे वह यह है:
print db.dvds.aggregate([
{"$unwind": "$episodes"}, # One document per episode
{"$match": {"episodes.title": "Episode 1"} }, # Selects (filters)
{"$group": {"_id": "$_id", # Put documents together again
"episodes": {"$push": "$episodes"},
"title": {"$first": "$title"} # Just take any title
}
},
])["result"]
आउटपुट (व्हाट्सएप के अलावा) है:
[ { u'episodes': [ { u'title': u'Episode 1',
u'desc': u'...'
}
],
u'_id': ObjectId('51542645a0c6dc4da77a65b6'),
u'title': u'The Hitchhikers Guide to the Galaxy'
}
]
अगर आप u"_id"
. से छुटकारा पाना चाहते हैं , पाइपलाइन को इसके साथ संलग्न करें:
{"$project": {"_id": 0,
"episodes": "$episodes",
"title": "$title"}
}