在 MongoEngine 查询中获取引用对象的数据,而不仅仅是 id
Get data of Referenced objects in MongoEngine query, not just id
我有一组模型如下:
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))
我有一组模型如下:
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))