वैसे आप MongoDB के यूनिक कंपाउंड इंडेक्स का इस्तेमाल कर सकते हैं
db.users.createIndex( { user: 1, comment: 1, whatever: 1 }, { unique: true } )
कुछ मामले:
> db.users.insert({user: "A", comment: "B", whatever: "C"})
WriteResult({ "nInserted" : 1 })
> db.users.insert({user: "A", comment: "C", whatever: "B"})
WriteResult({ "nInserted" : 1 })
> db.users.insert({user: "A", comment: "B", whatever: "C"})
> WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 11000,
"errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.users.$user_1_comment_1_whatev
er_1 dup key: { : \"A\", : \"B\", : \"C\" }"
}
})
मुझे पता है कि मैंने यहां स्ट्रिंग्स का इस्तेमाल किया है। लेकिन कुछ ऐसा ही ObjectIds के साथ भी संभव हो सकता है। कृपया इसे आजमाएं।