MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Index unique facultatif de MongoDB

Si vous utilisez MongoDB 3.2, vous pouvez utiliser un index partiel unique au lieu d'un index clairsemé.

L'index partiel est en fait recommandé plutôt que l'index creux

Exemple

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

Dans l'exemple ci-dessus, l'index unique ne sera créé que lorsque userId est présent et ne contient pas de valeur nulle. Il en va de même pour anonymousId aussi.

Veuillez consulter https://docs.mongodb.org/ manuel/core/index-unique/#unique-partial-indexes