Pymongo не может обновить строку как «время» - PullRequest
0 голосов
/ 25 февраля 2019

Я использовал Pymongo upsert = true, но не могу вставить новую запись с данными как «время», пожалуйста, помогите мне решить ее.

     def mongo_upsert(coll_name, id, data):
        try:
           mdb = MongoClient('mongodb://localhost:27017')
           mainMdb = mdb['main']
           coll = mainMdb[coll_name]
           # data object
           # data = {
           #     '_id': '989',
           #     'charge_booking_type': 'time'
           # }
           # force set again
           data[ 'charge_booking_type'] = str('time')
           coll.update({'_id': id}, {'$set': data}, upsert=True)
        except Exception as ex:
           print 'mongo upsert error', ex

получите ошибку:

/ usr / local / lib / python2.7 / site-packages / pymongo / collection.py: 479: RuntimeWarning: невозможно кодировать - перезагрузить модули python и повторить попытку.если вы видите это без получения исключения InvalidDocument, см. http://api.mongodb.org/python/current/faq.html#does-pymongo-work-with-mod-wsgi check_keys, self .__ uuid_subtype), safe) mongo upsert error Невозможно кодировать объект:

...