Лучше всего вернуть JSON Mongodb в приложении Django - PullRequest
0 голосов
/ 27 апреля 2018

Как я могу вернуть json всех документов в моей коллекции? Я использую пимонго, и у меня есть один метод, который делает это для меня

client = MongoClient('localhost', 27017)

db = client.sourceReggaeMusic

source = db.source


def findAll(self):
    return source.find()

но этот метод возвращает что-то вроде этого <pymongo.cursor.Cursor object at 0x0618FDD0> и мне нужно сделать для печати элементов. Существует какой-нибудь прочь, чтобы получить этот результат в формате JSON? или конвертировать это?

Мне нужно преобразовать в json, потому что, когда я сделаю запрос к некоторому URL, я отвечу на этот json

1 Ответ

0 голосов
/ 27 апреля 2018

Используйте list(), чтобы преобразовать итерацию cursor в список документов БД, затем сериализовать этот список в массив JSON и отправить его вашему клиенту. Примерно так:

# in views.py
import json
from django.http import HttpResponse


def some_view(request):
    resp = HttpResponse(json.dumps(list(findAll())))
    resp['Content-Type'] = 'application/json'
    return resp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...