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

MongoDB:índice exclusivo na propriedade do elemento do array


Até onde eu sei, índices exclusivos apenas impõem exclusividade em diferentes documentos, então isso geraria um erro de chave duplicada:
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )
db.cats.insert( { id: 123, kittens: [ { id: 456 } ] } )

Mas isso é permitido:
db.cats.insert( { id: 123, kittens: [ { id: 456 }, { id: 456 } ] } )

Não tenho certeza se há alguma maneira de impor a restrição que você precisa no nível do Mongo, talvez seja algo que você possa verificar na lógica do aplicativo quando inserir de atualização?