假设我有一个BlogPost
模型与零对多嵌入式Comment
文件。我可以查询并让MongoDB返回只有Comment
符合我的查询规格的对象?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'}
已接受答案的“未来”现在已成为过去,因为聚合框架已经存在。我回答了如何去做。 – 2013-08-31 12:27:13