Подтвердить что ты не робот

Конвертировать курсор pymongo в json

  • Я знаю, что это довольно распространенная проблема. Я пишу небольшое приложение Flask, и я пытаюсь передать некоторые запросы обратно в представление. Я подключился к локальной настройке MongoDB и сделал успешный запрос, но я не могу сгенерировать с ним объект json.

Наиболее распространенным решением, которое я видел, является импорт json_util из 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]

Я установил pymongo в свой Flask virtualenv, используя pip i.e:

pip install pymongo

При запуске вышеуказанного кода я получаю следующую ошибку:

ImportError: cannot import name json_util

Я вижу эту строку в файле pymongo-2.3-py2.6.egg-info/installed-files.txt   .. /BSON/json _util.py

У кого-нибудь есть подсказки, которые могут помочь мне понять, что я делаю неправильно?

UPDATE: Немного поправившись с этим - мне удалось заставить это работать таким образом:

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)

Одна из проблем, с которыми я столкнулась, заключалась в том, чтобы попытаться установить install bson самостоятельно - pymongo приносит с собой bson и импортирует проблемы, вызванные отдельными причинами.

Спасибо @Cagex за то, что указали мне в правильном направлении

4b9b3361