2014-07-14 19 views
0

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

这是我如何在mongoengine中查询。

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

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

回答

3

BaseQueryList有一个叫as_pymongo一个方法,我们可以用它来获取行作为dictlist等,其中我们得到pymongo。以下是一个例子

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

OR

BaseQueryList有在User类对象的列表。

User类对象有一个名为_data一个方法,这将返回数据作为dict

所以,你可以尝试像下面

users = [user._data for user in users._iter_results()] 

这可能是帮助你。

+0

这就是我现在所做的。这样我必须迭代mongo返回的对象列表,然后才能将响应发送到api调用。将对象作为字典返回的东西是我需要查找的东西。 – BabbarTushar

+0

我发现它并更新我的答案。它应该帮助你。 –

相关问题