在Mongoose模式中使用多个值的唯一文档

我有一个特殊情况,我们的collections需要根据电子邮件地址和sweepstakes_id的组合来确保每个文档都是唯一的。 我看遍了,但我无法find如何完成这种types的validation。

架构定义:

var submissionSchema = new Schema({ client_id: { type: Schema.Types.ObjectId, ref: 'Client', index: true }, sweepstakes_id: { type: Schema.Types.ObjectId, ref: 'Sweepstakes', index: true }, email: { type: String, index: true }, data: { type: Schema.Types.Mixed, default: [] } }); 

您可以使用包含两个字段的唯一索引来强制执行此操作:

 submissionSchema.index({ email: 1, sweepstakes_id: 1 }, { unique: true });