Argumen ketiga untuk update()
P PyMongo adalah upsert
dan harus melewati boolean, bukan kamus. Ubah kode Anda menjadi:
self.word_counts[source].update({'date':posttime}, {"$inc" : words}, True)
Atau berikan upsert=True
sebagai argumen kata kunci:
self.word_counts[source].update({'date':posttime}, {"$inc" : words}, upsert=True)
Kesalahan Anda kemungkinan disebabkan oleh membaca tentang update()
dalam dokumen MongoDB. Versi JavaScript dari update
mengambil objek sebagai argumen ketiga yang berisi parameter opsional seperti upsert
dan multi
. Tetapi karena Python memungkinkan meneruskan argumen kata kunci ke suatu fungsi (tidak seperti JavaScript yang hanya memiliki argumen posisi), ini tidak perlu dan PyMongo mengambil opsi ini sebagai parameter fungsi opsional.