- 我知道这是一个相当普遍的问题。我正在编写一个小型 Flask 应用程序,并试图将一些查询反馈给视图。我已经连接到我的本地 MongoDB 设置,并进行了成功的查询 - 但我无法用它生成 json 对象。
我见过的最常见的解决方案是从 pymongo 导入 json_util 即
import json
from pymongo import json_util
results = connection.get_collection('papayas_papaya')
results = results.find({
'identifier': '1',
})
serialized_results = [json.dumps(result, default=json_util.default, separators=(',', ':')) for result in results]
我已经使用 pip 将 pymongo 安装到了我的 Flask virtualenv 中:
pip install pymongo
运行上述代码时,我不断收到以下错误:
ImportError: cannot import name json_util
我可以在 pymongo-2.3-py2.6.egg-info/installed-files.txt ../bson/json_util.py 中看到这一行
任何人都有任何提示可以帮助我找出我做错了什么?
更新:对此进行了进一步讨论 - 我已经设法让这个工作:
import pymongo
from bson.json_util import dumps
connection = pymongo.Connection("localhost", 27017)
db = connection.mydocs
def get():
cursor = db.foo.find({"name" : "bar"})
return dumps(cursor)
我遇到的问题之一是尝试独立安装 bson - pymongo 带来了 bson 并单独导入 bson 导致了问题。
感谢@Cagex 为我指明了正确的方向