Anwendungsfall: Ich schreibe ein Backend mit MongoDB (und Flask). Momentan wird kein ORM wie Mongoose/Mongothon verwendet. Ich möchte die _id des Benutzers speichern, der jedes Dokument im Dokument erstellt hat. Ich möchte, dass es unmöglich ist, dieses Feld nach der Erstellung zu ändern. Das Backend ermöglicht derzeit beliebiges Updates mit (im Wesentlichen) collection.update_one({"_id": oid}, {"$set": request.json})
Wie kann ein Feld nach der Erstellung in MongoDB unveränderbar gemacht werden?
ich von request.json (so etwas wie del request.json["_creator_id"]
) das _creator_id Feld herausfiltern könnte, aber ich bin besorgt darüber, dass nicht alle Möglichkeiten abdeckt, in denen die Syntax sein könnte modifiziert, um das Feld zu aktualisieren (hmm, Punktnotation?). Idealerweise würde ich gerne einen Weg finden, um Felder in MongoDB selbst einmal zu schreiben, aber wenn das nicht klappt, dann gibt es einige kugelsichere Methoden, um Aktualisierungen eines Feldes im Code zu verhindern.