MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como restringir valores usando o tipo de dados misto no Mongoose?


É melhor evitar chaves dinâmicas, se possível, pois elas tornam tudo mais difícil. Em vez de usar Mixed , dê mais estrutura ao campo tornando myModel uma matriz que contém uma key dinâmica valor e uma string value campo que é validado usando enum :
myModel: [{
    key: String,
    value: {
        type: String, 
        enum: ['Restricted value 1', 'Restricted value 2', 'Restricted value 3']
    }
}]

Seu documento de exemplo se tornaria:
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" }
]