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

Índice compuesto de mangosta Único + Escaso

En realidad, estaba bastante cerca de la solución, todo lo que necesita para usar esto al crear el índice:

partialFilterExpression: { serialNr: {$exists:true} }

Asegúrese de tener al menos la versión 3.2 de mongo

Ejemplo:

db.col.createIndex({a:1, b:1},{unique:true, partialFilterExpression: { a: {$exists:true} })
db.col.save({a:50, b:27}) //pass
db.col.save({a:50, b:27}) //fails
db.col.save({b:27}) //pass
db.col.save({b:27}) //pass
db.col.save({b:27}) //pass
db.col.save({a:50, b:27}) //fails
db.col.save({a:50}) //pass
db.col.save({a:50}) //fails

PD:Tal vez puedas hacer un pequeño "hackeo" y usar esto:partialFilterExpression: { serialNr: {$exists:true}, serialNr: {$gte:0} }

Intenté usar $ne, pero me arrojaba un error.