mongoDB / mongoose: уникальный, если не null

Мне было интересно, есть ли способ принудительно создать уникальную запись коллекции , но только если запись не равна нулю . e {{1 }} Пример схемы:

var UsersSchema = new Schema({
    name  : {type: String, trim: true, index: true, required: true},
    email : {type: String, trim: true, index: true, unique: true}
});

'email' в этом случае не требуется, но если 'email' сохранен, я хочу убедиться, что эта запись уникальна (на уровне базы данных).

Пустые записи, кажется, получают значение «null», поэтому каждая запись без электронной почты вылетает с опцией «уникальный» (если есть другой пользователь без электронной почты).

Прямо сейчас я решаю это на уровне приложения, но хотел бы сохранить этот запрос к базе данных.

спасибо

90
задан ezmilhouse 31 October 2011 в 14:26
поделиться