Jika Anda menggunakan MongoDB 3.2, Anda dapat menggunakan indeks parsial unik bukannya indeks jarang.
Indeks parsial sebenarnya direkomendasikan daripada indeks sparse
Contoh
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 } } } })
Dalam contoh di atas, indeks unik hanya akan dibuat ketika userId
ada dan tidak mengandung nilai nol. Hal yang sama berlaku untuk anonymousId
juga.
Silakan lihat https://docs.mongodb.org/ manual/core/index-unique/#unique-partial-indexes