Ich arbeite an Pymongo und das ist mein Dokument:
%Vor%Ich möchte die "Zuweisungs" -Eigenschaft aller solcher Dokumente aufheben. Ich konnte dies auf der Mongo-Shell erreichen, indem ich Folgendes machte:
%Vor%, d. h., ich habe das upsert- und das multi-Flag als die letzten zwei Parameter an die Funktion update function für die Sammlung von Benutzern übergeben. Allerdings habe ich das mit Pymongo gemacht:
%Vor%Aber der Python-Interpreter hat einen Fehler wie folgt ausgelöst:
%Vor%Wo gehe ich falsch?
Das Problem ist, dass die beiden Flags, die Sie übergeben, nicht upsert
und multi
sind. Basierend auf der Dokumentation von PyMongos Collection.update
(gefunden hier ), sieht es so aus, als könnten Sie Werte für die Optionen upsert
und manipulate
übergeben, obwohl ich mir nicht sicher bin.
Alles, was Sie tun müssen, um dies zu lösen, ist eine der großartigsten Funktionen von Python: benannte Argumente. Indem Sie angeben, welche Optionen Sie an update
übergeben, fügen Sie Ihrem Code Klarheit hinzu und sorgen dafür, dass solche Unfälle nicht passieren.
In diesem Fall möchten wir die Optionen upsert=False
und multi=True
übergeben.