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

Índice exclusivo opcional do MongoDB


Se você estiver usando o MongoDB 3.2, poderá usar o índice parcial exclusivo em vez de índice esparso.

O índice parcial é realmente recomendado sobre o índice esparso

Exemplo
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 } } } })

No exemplo acima, o índice exclusivo só será criado quando userId está presente e não contém valor nulo. O mesmo vale para anonymousId também.

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