Ich verwende MongoDB als Back-End-Datenbank für die Python-Webanwendung (PyMongo + Bottle). Benutzer können Dateien hochladen und diese Dateien optional während des Uploads "markieren". Die Tags werden wie folgt im Dokument gespeichert:
%Vor%Ich versuche, Benutzern zu ermöglichen, neue Tags an jedes Dokument anzuhängen. Ich habe mir so etwas ausgedacht:
%Vor% (fyi; ref
key ist immer eindeutig. Dies könnte auch _id
sein.)
Es scheint so, als ob es einen Weg geben könnte, den "Tag" -Wert direkt zu aktualisieren, ohne das gesamte Dokument zurückzuziehen und neu einzufügen. Fehle ich hier etwas?
Irgendwelche Gedanken werden sehr geschätzt:)
Sie müssen das Dokument nicht zuerst abrufen, verwenden Sie einfach die .update
-Methode mit dem $push
operator.
Da das Update veraltet ist, sollten Sie das find_one_and_update
verwenden. oder die Methode update_one
wenn Sie pymongo 2.9 oder neuer verwenden
Sie können das einfach tun
1) Wenn Sie einen einzelnen Eintrag anhängen möchten
%Vor%zB:
%Vor%2) Wenn Sie mehrere Einträge anhängen möchten
%Vor%zB:
%Vor%Hinweis: Wenn der Schlüssel nicht bereits vorhanden ist, erstellt Mongo einen neuen Schlüssel.
Tags und Links python mongodb mongodb-query pymongo