sql >> Database teknologi >  >> NoSQL >> MongoDB

PyMongo upsert kaster upsert skal være et tilfælde af bool fejl

Det tredje argument til PyMongos update() er upsert og skal bestå en boolesk, ikke en ordbog. Skift din kode til:

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

Eller send upsert=True som et søgeordsargument:

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

Din fejl var sandsynligvis forårsaget af at læse om update() i MongoDB-dokumenterne. JavaScript-versionen af ​​update tager et objekt som dets tredje argument, der indeholder valgfrie parametre som upsert og multi . Men da Python tillader at sende søgeordsargumenter til en funktion (i modsætning til JavaScript, som kun har positionsargumenter), er dette unødvendigt, og PyMongo tager i stedet disse muligheder som valgfri funktionsparametre.



  1. MongoDB erhverver mLab  –  Hvad er de forskellige MongoDB-hostingalternativer?

  2. Forespørgsel efter et felt i et objekt i array med Mongo?

  3. Kortlægning af et dokument med delvist defineret skema

  4. Hvordan skal jeg implementere dette skema i MongoDB?