MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie schränke ich Werte mit dem gemischten Datentyp in Mongoose ein?

Es ist am besten, wenn möglich dynamische Schlüssel zu vermeiden, da sie alles schwieriger machen. Anstatt Mixed zu verwenden , geben Sie dem Feld mehr Struktur, indem Sie myModel erstellen ein Array, das einen dynamischen key enthält Wert und eine Zeichenfolge value Feld, das mit enum validiert wird :

myModel: [{
    key: String,
    value: {
        type: String, 
        enum: ['Restricted value 1', 'Restricted value 2', 'Restricted value 3']
    }
}]

Ihr Beispieldokument würde folgendermaßen aussehen:

myModel: [
    { key: "Dynamic Key 1", value: "Restricted value 1" },
    { key: "Dynamic Key 2", value: "Restricted value 2" },
    { key: "Dynamic Key 3", value: "Restricted value 3" }
]