Python Mongodb: TypeError: upsert must be True or False
examples/mongodb/upsert_error.py
from pymongo import MongoClient import datetime import pymongo print(pymongo.__version__) client = MongoClient('mongodb://mongodb:27017') collection = client.demo.data collection.drop() print("working:") collection.update_one({ '_id' : 'stats'}, { '$set': { 'total': 1 } }, upsert=True) print("failing:") collection.update_one({ '_id' : 'stats'}, { '$set': { 'total': 2 } }, { "upsert": True })
3.10.1 Traceback (most recent call last): File "examples/mongodb/upsert_error.py", line 12, in <module> collection.update_one({ '_id' : 'stats'}, { '$set': { 'total': 2 } }, { "upsert": True }) File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/collection.py", line 998, in update_one self._update_retryable( File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/collection.py", line 854, in _update_retryable return self.__database.client._retryable_write( File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/mongo_client.py", line 1491, in _retryable_write return self._retry_with_session(retryable, func, s, None) File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/mongo_client.py", line 1384, in _retry_with_session return func(session, sock_info, retryable) File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/collection.py", line 846, in _update return self._update( File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/collection.py", line 767, in _update common.validate_boolean("upsert", upsert) File "/home/gabor/venv3/lib/python3.8/site-packages/pymongo/common.py", line 159, in validate_boolean raise TypeError("%s must be True or False" % (option,)) TypeError: upsert must be True or False