Trong cấp độ đường dẫn email, bạn chỉ có thể sử dụng:
email: {
type: String
}
Và ở mức giản đồ, hãy sử dụng:
SchemaName.index({ email: 1 }, {
unique: true,
partialFilterExpression: {
'email': { $exists: true, $gt: '' }
}
});
Bằng cách này, ràng buộc duy nhất chỉ được áp dụng nếu email tồn tại và không phải là một chuỗi rỗng