Предположим, что у меня есть модель BlogPost
со встроенными Comment
документами. я могу запросить и вернуть MongoDB толькоComment
объектов, соответствующих моему запросу spec?MongoDB запрос на возврат только встроенного документа
например, db.blog_posts.find({"comment.submitter": "some_name"})
возвращает только список комментариев.
редактировать: пример:
import pymongo
connection = pymongo.Connection()
db = connection['dvds']
db['dvds'].insert({'title': "The Hitchhikers Guide to the Galaxy",
'episodes': [{'title': "Episode 1", 'desc': "..."},
{'title': "Episode 2", 'desc': "..."},
{'title': "Episode 3", 'desc': "..."},
{'title': "Episode 4", 'desc': "..."},
{'title': "Episode 5", 'desc': "..."},
{'title': "Episode 6", 'desc': "..."}]})
episode = db['dvds'].find_one({'episodes.title': "Episode 1"},
fields=['episodes'])
в этом примере, episode
является:
{u'_id': ObjectId('...'),
u'episodes': [{u'desc': u'...', u'title': u'Episode 1'},
{u'desc': u'...', u'title': u'Episode 2'},
{u'desc': u'...', u'title': u'Episode 3'},
{u'desc': u'...', u'title': u'Episode 4'},
{u'desc': u'...', u'title': u'Episode 5'},
{u'desc': u'...', u'title': u'Episode 6'}]}
, но я просто хочу:
{u'desc': u'...', u'title': u'Episode 1'}
«Будущее» принятого ответа - это прошлое, поскольку структура агрегации уже существует. Я ответил, как это сделать. –