Nếu bạn đang sử dụng MongoDB 3.2, bạn có thể sử dụng chỉ mục một phần duy nhất thay vì chỉ mục thưa thớt.
Chỉ mục một phần thực sự được đề xuất thay vì chỉ mục thưa thớt
Ví dụ
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 } } } })
Trong ví dụ trên, chỉ mục Duy nhất sẽ chỉ được tạo khi userId
là hiện tại và không chứa giá trị null. Điều tương tự cũng đúng với anonymousId
quá.
Vui lòng xem https://docs.mongodb.org/ thủ công / lõi / chỉ mục-duy nhất / # duy nhất-một phần-chỉ mục