如何在Mongoengine Python中获取字典对象?

时间:2014-07-14 08:40:15

标签: python pymongo mongoengine

在查询pymongo时,我得到一个字典对象,可以直接作为对api请求的响应发送。 mongoengine在查询数据库时返回Document对象的位置。因此,我必须解析每个对象,然后才能将其作为api中的响应发送。

这是我在mongoengine中查询的方式。

users = User.objects(location = 'US')

这将返回一个BaseQueryList对象,其中包含用户模型类型对象。相反,我需要它应该返回一个用户的字典类型对象列表。

1 个答案:

答案 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()]

它可以帮助你。