Nehmen wir an, ich ein Schema wie dieses:automatisch Entfernen von Objekten auf Löschung in MongoDB Referenzierung
var Person = new Schema({
name: String
});
var Assignment = new Schema({
name: String,
person: ObjectID
});
Wenn ich eine Person löschen, gibt es noch verwaiste Zuweisungen werden kann links, dass eine Person verweisen, die nicht vorhanden ist, die erzeugt überflüssige Unordnung in der Datenbank.
Gibt es eine einfache Möglichkeit sicherzustellen, dass beim Löschen einer Person auch alle entsprechenden Verweise auf diese Person gelöscht werden?
Was ist, wenn es ein tiefer verschachteltes Array von Objekt-IDs enthält? wie 'data: {persons: [{ObjectID}]}'? – vhflat
@vhflat Wahrscheinlich am besten, um eine neue Frage darüber mit all den Besonderheiten zu posten. – JohnnyHK
@JohnnyHK, aber was ist mit Nebenläufigkeit? Was passiert, wenn eine Aufgabe erstellt wird, während die Person gelöscht wird? Ich habe versucht, dieses Problem in meiner Antwort auf diese Frage http://stackoverflow.com/q/42521550 zu lösen, aber ich denke, dass es einen besseren Weg geben muss! Können Sie es bitte überprüfen? –