在查询pymongo时,我得到一个字典对象,可以直接作为对api请求的响应发送。 mongoengine在查询数据库时返回Document对象的位置。因此,我必须解析每个对象,然后才能将其作为api中的响应发送。
这是我在mongoengine中查询的方式。
users = User.objects(location = 'US')
这将返回一个BaseQueryList
对象,其中包含用户模型类型对象。相反,我需要它应该返回一个用户的字典类型对象列表。
答案 0 :(得分:5)
在BaseQueryList
中有一种名为as_pymongo
的方法,我们可以使用它来获取list
dict
行,就像我们得到pymongo
一样。以下是一个例子
users = User.objects(location = 'US').as_pymongo()
OR
在BaseQueryList
中有User
类对象列表。
在User
类对象中有一个名为_data
的方法,这会将数据返回为dict
所以你可以尝试下面的
users = [user._data for user in users._iter_results()]
它可以帮助你。