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

¿Cómo garantizar un elemento único en una matriz basada en campos específicos - mongoDB?

Mustafa, las restricciones únicas no se aplican dentro de una sola matriz, aunque se aplican entre los documentos de una colección. Este es un error conocido que no se solucionará por un tiempo:

https://jira.mongodb.org/browse/SERVER-1068

Sin embargo, hay una solución. Mantenga su índice único en su lugar y:

1) Asegúrese de que su aplicación no inserte nuevos documentos con valores duplicados en la matriz. Puede verificar la exclusividad en el código de su aplicación antes de insertarlo.

2) Al actualizar documentos existentes, use $addToSet en lugar de $push.