sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo restringir valores usando el tipo de datos Mixto en Mongoose?

Es mejor evitar las claves dinámicas si es posible, ya que hacen que todo sea más difícil. En lugar de usar Mixed , dale más estructura al campo haciendo myModel una matriz que contiene una key dinámica valor y una cadena value campo que se valida usando enum :

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

Su documento de ejemplo se convertiría en:

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