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

MongoDB:índice único en la propiedad del elemento de matriz

Hasta donde yo sé, los índices únicos solo imponen la unicidad en diferentes documentos, por lo que esto generaría un error de clave duplicada:

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

Pero esto está permitido:

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

No estoy seguro de si hay alguna forma de hacer cumplir la restricción que necesita en el nivel de Mongo, ¿tal vez es algo que podría verificar en la lógica de la aplicación cuando inserta una actualización?