MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

PyMongo upsert изхвърля upsert трябва да е екземпляр на грешка bool

Третият аргумент към update() на PyMongo е upsert и трябва да се предава булева, а не речник. Променете кода си на:

self.word_counts[source].update({'date':posttime}, {"$inc" : words}, True)

Или предайте upsert=True като аргумент за ключова дума:

self.word_counts[source].update({'date':posttime}, {"$inc" : words}, upsert=True)

Вашата грешка вероятно е причинена от четене за update() в документите на MongoDB. Версията на JavaScript на update приема обект като трети аргумент, съдържащ незадължителни параметри като upsert и multi . Но тъй като Python позволява предаване на аргументи на ключова дума на функция (за разлика от JavaScript, който има само позиционни аргументи), това е излишно и вместо това PyMongo приема тези опции като незадължителни параметри на функцията.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Синтаксис на отделни заявки на C# MongoDB

  2. Новият начин за управление на бази данни с отворен код

  3. В MongoDB как да върна само част от масива?

  4. Python и MongoDB:Свързване с NoSQL бази данни

  5. Mongodb Mongoimport е твърде голям:Грешки при синтактичен анализ