The most common solution I've seen is to import json_util from pymongo i.e.
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]
I've installed pymongo into my Flask virtualenv using pip i.e :
pip install pymongo
When running the above code I keep getting the following error:
ImportError: cannot import name json_util
I can see this line in the pymongo-2.3-py2.6.egg-info/installed-files.txt ../bson/json_util.py
Anyone got any tips that can help me figure out what I'm doing wrong?
UPDATE: Having noodled about with this a little further - I've managed to get this working thus:
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)
One of the problems I had was trying to pip install bson independently - pymongo brings bson with it and importing bson separately caused problems.
Thanks @Cagex for pointing me in the right direction
It looks like you want to import from bson not pymongo. I believe json_util was moved to that module recently. https://pymongo.readthedocs.io/en/stable/api/bson/json_util.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With