pymongo - TypeError: документ должен быть экземпляром dict, bson.son.SON или другого типа, который наследуется от коллекций.
Я пишу данные в MongoDB
с помощью pymongo
,
Я получаю эту ошибку при выполнении операции записи.
TypeError: document must be an instance of dict, bson.son.SON, or other type that inherits from collections.MutableMapping
Если я распечатаю данные и скопирую их insert_one()
звоните, информация пишется с оболочкой. Я попытался преобразовать переменную в str, но я не уверен, как она отформатирована неправильно, как будто я копирую строку печати и выполняю операцию, она добавлена. Это приводит меня к подозрению, что не было проблемы с форматом объекта JSON, но это кодировка или какой-то ее вариант, или небольшой синтаксис возвращаемого объекта JSON.
post_id = post_db.insert_one(chunk).inserted_id
2 ответа
У меня была та же ошибка, так как я передавал кортеж insert_one()
функция. Дважды проверьте тип данных, который вы передаете в эту функцию, так как ошибка явно говорит о том, что некоторые типы данных приняты для передачи в эту функцию.
type(chunk)
будет полезно для вас.
У меня была та же ошибка TypeError, когда я использовал.insert_one(), чтобы вставить много объектов одновременно. Используйте массовую вставку (.insert_many()), как рекомендовано в руководстве по адресу: http://api.mongodb.org/python/current/tutorial.html.