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

Índice único opcional de MongoDB

Si está usando MongoDB 3.2, puede usar índice parcial único en lugar de índice disperso.

En realidad, se recomienda el índice parcial sobre el índice disperso

Ejemplo

db.users.createIndex({ "userId": 1, "project": 1 }, 
{ unique: true, partialFilterExpression:{ 
  userId: { $exists: true, $gt : { $type : 10 } } } })

db.users.createIndex({ "anonymousId": 1, "project": 1 }, 
{ unique: true, partialFilterExpression:{ 
  anonymouseId: { $exists: true, $gt : { $type : 10 } } } })

En el ejemplo anterior, el índice único solo se creará cuando userId está presente y no contiene un valor nulo. Lo mismo se aplica a anonymousId también.

Consulte https://docs.mongodb.org/ manual/core/index-unique/#unique-partial-indexes