【发布时间】:2016-09-11 15:22:45
【问题描述】:
我正在尝试使用 MongoDB 保存一个唯一的 String 元素数组,但由于某种原因,它允许我保存重复项。
我正在使用猫鼬。我的代码:
schema = mongoose.Schema({
"searchingId": { "type": String,
"unique": true,
"index": true },
"sharedTo" : {
type: [String],
unique: true,
"trim":true
}
}, {collection: 'myCollection'});
基本上,重点是保留用户发送电子邮件的电子邮件地址列表,并防止用户发送垃圾邮件。但是这个模式将允许我将任何字符串推送到 sharedTo 数组和 .save() 它,无论是否存在重复项。如何防止这种情况发生?
编辑: 拉哈尔的回答确实对我的问题有所帮助,但并不完全。如果有至少一个重复,我想阻止用户添加电子邮件。所以基本上 $addToSet 将有助于唯一性,但对我的问题没有帮助。
【问题讨论】:
-
您能否举例说明您正在尝试防止的重复记录类型,但它是允许的?