MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB Optionaler eindeutiger Index

Wenn Sie MongoDB 3.2 verwenden, können Sie einen eindeutigen Teilindex verwenden statt Sparse-Index.

Ein partieller Index wird tatsächlich gegenüber einem Sparse-Index

empfohlen

Beispiel

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

Im obigen Beispiel wird der eindeutige Index nur erstellt, wenn userId vorhanden ist und keinen Nullwert enthält. Gleiches gilt für anonymousId auch.

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