假设我有一个BlogPost个模型,其中有0到多个嵌入的Comment个文档.我可以查询并让MongoDB返回only Comment个与我的查询规范匹配的对象吗?

db.blog_posts.find({"comment.submitter": "some_name"})只返回 comments 列表.

编辑:一个例子:

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'}

推荐答案

同样的问题也出现在Mongo DB谷歌群组页面上.显然,目前还不可能,但计划在future 进行.

http://groups.google.com/group/mongodb-user/browse_thread/thread/4e6f5a0bac1abccc#

Mongodb相关问答推荐

如何拉平mongo DB中的对象并在根目录中保存时有条件地重命名字段?

Mongodb如果数组中有外部键,则将排序应用到查找结果

在Mongoose中对嵌套文档设置时间戳,但不对父文档设置时间戳

如何根据两个 struct 创建一个Mongo文档?

带dropTarget的MongoDB renameCollection命令是原子的吗

MongoDB:检测所有重叠事件(开始/结束日期)?

MongoDB 聚合 - 条件 $lookup 取决于字段是否存在

嵌套数组 $unwind 和 $group 在 mongoDB 中重新组合在一起

将子文档中的所有字段设置为 false,然后在单个查询中将第二个字段设置为 true

在mongoose 中按键查找嵌套对象

从 node.js 的 mongodb 集合中删除文档

使用 homebrew 和 Xcode 8.1.1 安装 Mongodb 失败

Mongoose 架构引用和未定义类型ObjectID

.insertOne 不是函数

请按语法排序 Mongoid Scope

MongoDB 在 mongoengine 中使用 OR 子句

在 MongoDB 中为现有用户更改密码

Mongoose - 获取 _id 列表而不是具有 _id 的对象数组

如何在 golang 和 mongodb 中通过 id 查找

MongoDB打印两点之间的距离