convert pymongo cursor to json

北慕城南 提交于 2019-12-09 14:02:19

问题


  • I know this is a fairly common problem. I'm writing a small Flask app and I'm trying to feed some queries back to the view. I've connected to my local MongoDB setup, and made a successful query - but I can't generate a json object with it.

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


回答1:


It looks like you want to import from bson not pymongo. I believe json_util was moved to that module recently. http://api.mongodb.org/python/current/api/bson/json_util.html



来源:https://stackoverflow.com/questions/13241878/convert-pymongo-cursor-to-json

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!