>我知道这是一个相当普遍的问题。我正在写一个小的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指出我的方向正确