I have a collection test1 with this schema :
{
"_id" : ObjectId("576a5306177a78b5c286c95d"),
"name" : "abdul",
"lname" : "sayed"
},
{
"_id" : ObjectId("576a5306177a78b5c286c95d"),
"name" : "abcd",
"lname" : "port"
}
I want to create a unique case-insensitive index on this collection for columns name & lname :
For the current eg :
1) "Abdul" & "Sayed" cannnot be added. (which is correct)
2) "Abdul" & "pqrs" should get added. However I am unable to add so.
It is giving me this error.
db.test1.insert({"name":"Abdul","lname":"pqrs"})
WriteResult({ "nInserted" : 1 })
db.test1.insert({"name":"Abdul","lname":"pqrs"}) WriteResult({ "nInserted" : 0, "writeError" : { "code" : 11000, "errmsg" : "E11000 duplicate key error collection: mydb.test1 index: name_text_lname_text dup key: { : \"abdul\", : 1.1 }" } })
What I Had tried :
db.test1.createIndex({"name":"text","lname":"text"},{unique:true,"caseInsensitive":true})
Edit : List of Indexes :
> db.test1.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "mydb.test1"
},
{
"v" : 1,
"unique" : true,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "name_text_lname_text",
"ns" : "mydb.test1",
"caseInsensitive" : true,
"weights" : {
"lname" : 1,
"name" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}
]
>