MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

PyMongo upsert rzuca upsert musi być instancją błędu bool

Trzeci argument update() PyMongo jest upsert i musi być przekazany wartością logiczną, a nie słownikiem. Zmień swój kod na:

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

Lub podaj upsert=True jako argument słowa kluczowego:

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

Twój błąd prawdopodobnie został spowodowany przeczytaniem o update() w dokumentacji MongoDB. Wersja JavaScript update przyjmuje obiekt jako trzeci argument zawierający opcjonalne parametry, takie jak upsert i multi . Ale ponieważ Python pozwala na przekazywanie argumentów słów kluczowych do funkcji (w przeciwieństwie do JavaScript, który ma tylko argumenty pozycyjne), jest to niepotrzebne, a PyMongo przyjmuje te opcje jako opcjonalne parametry funkcji.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Połącz się z hostem mongodb z kontenera docker

  2. Planowanie i zarządzanie schematami w MongoDB (nawet jeśli nie jest to schemat)

  3. MongoDB dodaje się do pola kolekcji łączącej z bazy jeden

  4. Przechowuj obrazy w bazie danych MongoDB

  5. Zrozumienie indeksów MongoDB