sql >> Database >  >> NoSQL >> MongoDB

PyMongo upsert gooit upsert moet een instantie van bool-fout zijn

Het derde argument voor PyMongo's update() is upsert en moet een boolean worden doorgegeven, geen woordenboek. Verander je code in:

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

Of geef upsert=True door als zoekwoordargument:

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

Je fout is waarschijnlijk veroorzaakt door te lezen over update() in de MongoDB-documenten. De JavaScript-versie van update neemt een object als zijn derde argument met optionele parameters zoals upsert en multi . Maar aangezien Python het doorgeven van trefwoordargumenten aan een functie toestaat (in tegenstelling tot JavaScript dat alleen positionele argumenten heeft), is dit niet nodig en neemt PyMongo deze opties in plaats daarvan als optionele functieparameters.



  1. Stackexchange.redis mist de WAIT-ondersteuning

  2. Hoe krijg ik toegang tot Meteor's MongoDB vanaf een andere client, terwijl Meteor actief is?

  3. Gesorteerde lijsten in Redis gebruiken

  4. Groepeer en tel per maand