Как сохранить в Mongodb? - PullRequest
       7

Как сохранить в Mongodb?

0 голосов
/ 07 октября 2018

Я пытаюсь выполнить upsert в mongodb, как показано ниже, и сталкиваюсь с ошибкой ниже? Я посмотрел другие сообщения pymongo typeError: документ должен быть экземпляром dict, bson.son.SON, bson.raw_bson.RawBSONDocument но я не могу найти какую-то конкретную вещь? Какие-либо рекомендации по ее исправлению?

from pymongo import MongoClient
import os,pymongo,re
dbuser = os.environ.get('user', 'techauto1')
dbpass = os.environ.get('pwd', 'techpass')
uri = 'mongodb://{dbuser}:{dbpass}@machine.company.com:27017/techautomation'.format(**locals())
client = MongoClient(uri)
db = client.techautomation
data = {}
data["chip"] = '1234'
data["firmware_version"] = '0.10.560.0.5.1.22'
data["train"] = 'abcd'
try:
    db.latest_fw_released.update(data,True)
    logger.info('wrote')
    logger.info('Updated %s into DB...'%data)
except pymongo.errors.AutoReconnect, e:
    logger.info( 'Warning:%s'%e)

Ошибка: -

    db.latest_fw_released.update(data,True)
  File "/Library/Python/2.7/site-packages/pymongo/collection.py", line 2951, in update
    common.validate_is_mapping("document", document)
  File "/Library/Python/2.7/site-packages/pymongo/common.py", line 425, in validate_is_mapping
    "collections.Mapping" % (option,))
TypeError: document must be an instance of dict, bson.son.SON, or other type that inherits from collections.Mapping
...