我正在尝试学习Mongodb中的索引。我创建了一个数据库和一个集合,如下所示:
use mydb
db.createCollection("myFirstCollection")
one={name:"Helios"}
two={name:"Kepler"}
db.myFirstCollection.insert(one)
db.myFirstCollection.insert(two)
我能够按如下方式列出我的结果:
db.myFirstCollection.find()
{ "_id" : ObjectId("53cde256f8807057b6bd827b"), "name" : "Helios" }
{ "_id" : ObjectId("53cde25bf8807057b6bd827c"), "name" : "kepler" }
我想在字段name
上添加唯一索引。但是当我尝试时,出现以下错误
db.myFirstCollection.ensureIndex({name:1},{unique:true})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"ok" : 0,
"errmsg" : "E11000 duplicate key error index: mydb.myFirstCollection.$name_1 dup key: { : null }",
"code" : 11000
}
我无法弄清楚我正在犯的错误。请帮忙。
答案 0 :(得分:0)
对于其他有问题的人,请注意字段名称区分大小写。
因此,在{field1 : 1}
上创建索引与{Field1 : 1}
答案 1 :(得分:0)
请在此处查看缺少的字段部分: https://docs.mongodb.com/manual/core/index-unique/
您只能拥有一个不包含集合中存在的唯一索引的文档。