2013-01-11 57 views
6

我有一個特殊情況,我們的收藏需要根據電子郵件地址和sweepstakes_id的組合來確保每個文檔都是唯一的。我已經看遍了所有,但我無法找到如何完成這種類型的驗證。在Mongoose Schema中使用多個值的唯一文檔

Schema定義:

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: [] 
    } 
}); 

回答

39

您可以強制使用唯一索引,包括兩個領域:

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

正是我一直在尋找。像魅力一樣工作。謝謝! –

+0

1留在哪裏? –

+2

我在這裏找到答案:http://stackoverflow.com/questions/12573753/creating-multifield-indexes-in-mongoose-mongodb –

相關問題