Как я могу вернуть данные из коллекции с параметром идентификатора блога из MongoDb с помощью метода классов? - PullRequest
1 голос
/ 17 июня 2020

Я создал Class(Blog) с параметрами (author,title,description,ID), затем после сохранения данных в MongoDB я создал метод from_mongo, который будет возвращать данные, сохраненные в MongoDB, из коллекции блогов, используя find_one из класса базы данных с значение идентификатора в качестве аргумента. Но как только программа запускается, она выдает следующую ошибку:

return cls(author=blog_data['author'],
TypeError: 'NoneType' object is not subscriptable

Program:

    @classmethod
    def from_mongo(cls, id):
        blog_data = Database.find_one(Collection="blogs", query={'id': id})
        return cls(author=blog_data['author'],
                   title=blog_data['title'],
                   description=blog_data['description'],
                   id=blog_data['id'])

    @staticmethod
    def find_one(Collection, query):
        Database.DATABASE[Collection].find_one(query)

blog = Blog(author='Steve Fox',
            title='WCA',
            description='British Boxer')

blog.from_mongo('d8220db09ec1467696fa46b75aacd216')

1 Ответ

0 голосов
/ 17 июня 2020

Предполагая, что ваш идентификатор действителен, вы должны искать _id.

query={'_id': id})

...