Как вернуть документ (ы) mongodb с помощью REST API - PullRequest
0 голосов
/ 03 июня 2019

Основная проблема заключается в том, что в приложении Flask, которое пытается вернуть документ MongoDB, я получаю сообщение об ошибке

TypeError: Object of type 'BaseQuerySet' is not JSON serializable

метод get следующий:

def get(self, projectId):

        response = MyObject.objects(project=projectId)

        return response , 200, None

Может быть несколько объектов с одним и тем же projectId, поэтому возвращается BaseQuerySet.

Я пытался использовать BSON json_util (как предлагается здесь: JSON-сериализация Mongodb ), но код ниже:

response=bson.json_util.dumps(response)

возвращает только список полей документа без каких-либо значений.

Единственный обходной путь, который я придумаю, - это вернуть наивное объединение строк в нужные мне поля.Тот же код работал нормально несколько раз назад, у кого-нибудь возникла подобная проблема?

EDIT

Класс MyObject похож на приведенный ниже:

from flask_mongoengine import MongoEngine
from mongoengine.fields import *
db = MongoEngine()

class User(db.Document):

    email = db.StringField(max_length=120)
    project = db.StringField(db.StringField(max_length=64))
    creation_date = db.DateTimeField(default=datetime.datetime.now)
    modified_date = db.DateTimeField(default=datetime.datetime.now)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...