假設我有一個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