MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment restreindre les valeurs à l'aide du type de données mixte dans Mongoose ?

Il est préférable d'éviter les touches dynamiques si possible car elles rendent tout plus difficile. Au lieu d'utiliser Mixed , donnez plus de structure au champ en faisant myModel un tableau qui contient une key dynamique valeur et une chaîne value champ validé à l'aide de enum :

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

Votre exemple de document deviendrait :

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" }
]