将 mongoengine 对象转换为 JSON

Converting mongoengine objects to JSON

我尝试使用带有 Flask 的 mongoengine 从 mongodb 获取数据。查询工作完美问题是当我将查询结果转换为 json 它仅显示字段名称时。

这是我的代码

view.py

from model import Users
result = Users.objects()
print(dumps(result))

model.py

class Users(DynamicDocument):
    meta = {'collection' : 'users'}
    user_name = StringField()
    phone = StringField()

输出

[["id", "user_name", "phone"], ["id", "user_name", "phone"]]

为什么它只显示字段名称?

您的查询returns一个queryset。使用 .to_json() 方法进行转换。

根据您的需要,您可能需要使用 json.loads() 之类的东西来获取 python 字典。

例如:

from model import Users
# This returns <class 'mongoengine.queryset.queryset.QuerySet'>
q_set = Users.objects()
json_data = q_set.to_json()

# You might also find it useful to create python dictionaries
import json
dicts = json.loads(json_data)