【发布时间】:2012-03-06 03:30:45
【问题描述】:
我想在获取包含 DBRef 的文档时过滤字段。 目标过滤字段是使用 DBRef 具有关系的子文档。 我想要这样的代码。
db.User.find(fields=['_id', 'profile._id', 'profile.text'])
'profile' 字段在此示例中使用 DBRef。
有人知道吗?
【问题讨论】:
标签: python mongodb pymongo mongokit
我想在获取包含 DBRef 的文档时过滤字段。 目标过滤字段是使用 DBRef 具有关系的子文档。 我想要这样的代码。
db.User.find(fields=['_id', 'profile._id', 'profile.text'])
'profile' 字段在此示例中使用 DBRef。
有人知道吗?
【问题讨论】:
标签: python mongodb pymongo mongokit
所以每个用户文档都有一个对 Profile 文档的 DBRef?查看 MongoKit 源代码,在我看来,您想要的东西是不可能的:
https://github.com/namlook/mongokit/blob/master/mongokit/document.py#L647
看看 one()(实际上是一个 find())是如何从 MongoDB 中获取引用的文档的?这就是 MongoKit 必须传入一个字段列表以在引用的文档中包含或排除的地方,但 MongoKit 没有。您可以向作者提出功能请求,或者看看您是否可以自己添加并提交补丁。
【讨论】: