Ich versuche, Mongoose als ein ODM für MongoDB mit meiner Anwendung node.js zu verwenden. Ich habe bemerkt, dass wenn ich ein Schema mit einem eingebetteten Dokument entwerfe, dass wenn ich keinen Wert hinzufüge, es ein leeres Array "[]" in Mongo speichert. Warum ist das? Ich versuche, historische Änderungen in Datensätzen zu speichern, und ein leeres Array würde bedeuten, dass diese Änderung den Wert gelöscht hat. Hier ist ein Beispielschema.Warum fügt Mongoose leere Arrays hinzu?
Hier ist das resultierende Dokument, wenn ich ein Dokument mit nur Name und Subdomain speichern.
{
"name": "Smith Company",
"products": [],
"subdomain": "smith"
}
Warum hat es Produkte standardmäßig mit einem leeren Array hinzugefügt und wie kann ich es stoppen?
der Standardwert für ein Array ist ein leeres Array, wenn Sie also sparen nur {name: „foo“, Sub-Domain: „bar“} Produkte wird ein leeres Array sein. – supernova
Gibt es eine Möglichkeit, den Standardwert für ein Array so zu ändern, dass nichts geschrieben wird? – wintzer
können Sie den Code veröffentlichen, in dem Sie Ihr Dokument aktualisieren? – supernova