MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Indice univoco opzionale MongoDB

Se utilizzi MongoDB 3.2, puoi utilizzare indice parziale univoco invece di indice sparso.

L'indice parziale è in realtà consigliato rispetto all'indice sparso

Esempio

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

Nell'esempio precedente, l'indice univoco verrà creato solo quando userId è presente e non contiene un valore nullo. Lo stesso vale per anonymousId anche.

Si prega di consultare https://docs.mongodb.org/ manual/core/index-unique/#unique-partial-indexes