- 私はこれがかなり一般的な問題であることを知っています。私は小さな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を使用してPlyongoをFlaskvirtualenvにインストールしました。
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)
私が抱えていた問題の1つは、bsonを個別にpipインストールしようとしたことでした。pymongoはbsonを持ち込み、bsonを個別にインポートすると問題が発生しました。
私を正しい方向に向けてくれてありがとう@Cagex