Python 在MongoEngine查询中获取引用对象的数据,而不仅仅是id
我有一套模型,如下所示:Python 在MongoEngine查询中获取引用对象的数据,而不仅仅是id,python,mongodb,pymongo,mongoengine,Python,Mongodb,Pymongo,Mongoengine,我有一套模型,如下所示: import mongoengine as mongo class Post(mongo.DynamicDocument): text = mongo.StringField() class User(mongo.DynamicDocument): name = mongo.StringField(required=True) posts = mongo.ListField(mongo.ReferenceField(Post)) 当我查询
import mongoengine as mongo
class Post(mongo.DynamicDocument):
text = mongo.StringField()
class User(mongo.DynamicDocument):
name = mongo.StringField(required=True)
posts = mongo.ListField(mongo.ReferenceField(Post))
当我查询用户时,假设id=1
user = User.objects.get(id=1)
print(user.to_json())
我得到的有效载荷如下:
{
'_id': {'$oid': "1"},
'name': 'someUser',
'posts': [
{'id': {'$oid': "23"}}
]
}
当我查询用户时,我希望能够看到用户所有帖子的数据,而不仅仅是相关帖子的ID
我怎样才能得到这样的东西呢
{
'_id': {'$oid': "1"},
'name': 'someUser',
'posts': [
{
'id': {'$oid': "23"},
'name': 'somePost'
}
]
}
您需要在模型中指定应该通过传递dbref=True来解除对它的引用
posts = mongo.ListField(mongo.ReferenceField(Post, dbref=True))