我有一個電子郵件字段,我想要唯一的電子郵件。我也希望有一個空白領域的可能性。如果電子郵件爲空/空/不存在,我不希望它檢查唯一性。Mongoose/keystonejs:唯一的字段,除非字段爲空
這裏是梯形定義我的列表模式:
Book.add({
number: { type: Types.Number },
email: { type: Types.Email, initial: true, index: true, unique: true },
token: { type: Types.Text },
title: { type: Types.Text, initial: true },
author: { type: Types.Text, initial: true },
name: { type: Types.Text, initial: true },
dedication: { type: Types.Textarea, initial: true },
image: { type: Types.CloudinaryImage }
});
梯形公開貓鼬的模式,這樣我就可以訪問。我可以添加一個自定義的驗證,除非字段爲空,否則我會希望得到更優雅的東西。
我已經有足夠的數據,我不知道這是否使索引的東西更復雜。
我確實嘗試過使用稀疏:true,但那對我沒有用。 – Tom
可能值得在空數據庫中首先嚐試它,只是爲了檢查它不是你已經有數據的事實。如果沒有,它可能必須是一個預存儲鉤子。 –