Ich benutze mongodb + node.js + mongoose.js ORM-Backend.Wie mongodb "Schema" Änderung in der Produktion zu behandeln
Lassen Sie sagen, II haben einige verschachtelte Array von Objekt ohne _id Feld
mongoose.Schema({
nested: [{
_id: false, prop: 'string'
}]
})
Und dann habe ich auf alle verschachtelten objectds Ad _id Feld wollen, so der Mungo-Schema
mongoose.Schema({
nested: [{
prop: 'string'
}]
})
Dann wäre Ich sollte ein Skript ausführen, um die Produktions-DB zu ändern, oder? Was ist der beste Weg, um mit solchen Veränderungen umzugehen? Mit welchem Tool (oder Ansatz) lässt sich die Änderung am besten umsetzen?
Aus dem Beispiel, das Sie angegeben haben, sieht es so aus, als ob Sie die _id entfernen möchten, anstatt sie hinzuzufügen. Wenn Sie eine _id hinzufügen möchten, wie bestimmen Sie, was jede _id sein sollte? – Eduardo
Ich verstehe dich nicht. _id: false sagt mongoose, keine _id für Objekte zu erzeugen, die durch das Schema beschrieben werden, wenn ich _id: false aus der Schemabeschreibung entferne mongoose erstellt neue Dokumente mit generierten _id. Was ich frage, ist der richtige Weg, alle vorhandenen Objekte (die keine _id haben) mit neuen _ids zu füllen. – WHITECOLOR
sollten die _ids vom System oder von Ihnen generiert werden? – Eduardo