sql >> Databáze >  >> NoSQL >> MongoDB

Jak omezit hodnoty pomocí smíšeného datového typu v Mongoose?

Nejlepší je vyhnout se dynamickým klávesám, pokud je to možné, protože všechno ztěžují. Místo použití Mixed , dejte poli více strukturu vytvořením myModel pole, které obsahuje dynamický key hodnota a řetězec value pole, které je ověřeno pomocí enum :

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

Váš vzorový dokument by byl:

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



  1. Minimongo zatím v projekcích nepodporuje operátora $

  2. MongoDB C# Driver a server generované ObjectId

  3. sdílení IO objektu ve více instancích uzlů

  4. Dotaz MongoDB s podmínkou „nebo“.