New to MongoDb and Python (webapp2
). So, I was fetching some data from a mongodb database. But I was unable to use json.dumps
on the returned data. Here's my code:
exchangedata = db.Stock_Master.find({"Country": "PHILIPPINES"}, {"_id" : 0})
self.response.write(json.dumps(exchangedata))
This throws an error:
TypeError: pymongo.cursor.Cursor object at 0x7fcd51230290 is not JSON serializable
The type of exchangedata
is pymongo.cursor.Cursor
. How can I convert it into a json object?
Use dumps from bson.json_util:
>>> c = pymongo.MongoClient()
>>> c.test.test.count()
5
>>> from bson.json_util import dumps
>>> dumps(c.test.test.find())
'[{"_id": {"$oid": "555cb3a7fa5bd85b81d5a624"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a625"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a626"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a627"}}, {"_id": {"$oid": "555cb3a7fa5bd85b81d5a628"}}]'