将mongoengine对象转换为JSON

Kau*_*ana 5 json mongodb mongoengine flask python-3.x

我试图用mongoengine和烧瓶从mongodb中获取数据.查询是完美的工作问题是当我将查询结果转换为json时,它只显示字段名称.

这是我的代码

view.py

from model import Users
result = Users.objects()
print(dumps(result))
Run Code Online (Sandbox Code Playgroud)

model.py

class Users(DynamicDocument):
    meta = {'collection' : 'users'}
    user_name = StringField()
    phone = StringField()
Run Code Online (Sandbox Code Playgroud)

产量

[["id", "user_name", "phone"], ["id", "user_name", "phone"]]
Run Code Online (Sandbox Code Playgroud)

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

小智 11

您的查询返回的查询集.使用该.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)
Run Code Online (Sandbox Code Playgroud)