2014-07-14 21 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

我發現它並更新我的答案。它應該幫助你。 –

相關問題