我想在提取包含DBRef的文档时将字段筛选到该文档中。目标筛选字段是使用DBRef具有关系的子文档。我想要这样的代码。
db.User.find(fields=['_id', 'profile._id', 'profile.text'])
"profile"字段在此示例中使用DBRef。
有人知道吗?
那么每个用户文档都有一个对Profile文档的DBRef?看看MongoKit的来源,在我看来,你想要的是不可能的:
https://github.com/namlook/mongokit/blob/master/mongokit/document.py#L647
看看它是如何用one()(实际上是find())从MongoDB中获取引用的文档的?这就是MongoKit必须在引用的文档中传递一个要包含或排除的字段列表的地方,但MongoKit没有。你可以向作者打开一个功能请求,或者看看你是否可以自己添加并提交一个补丁。