我有一个集合,其中 _id 字段是一个类型为 String 的 IP。
我使用 mongoose,但是控制台上出现了以下错误:
$ db.servers.remove()
$ db.servers.insert({"_id":"1.2.3.4"})
$ db.servers.insert({"_id":"1.2.3.5"}) <-- 报错 dup key: { : null }
我有一个集合,其中 _id 字段是一个类型为 String 的 IP。
我使用 mongoose,但是控制台上出现了以下错误:
$ db.servers.remove()
$ db.servers.insert({"_id":"1.2.3.4"})
$ db.servers.insert({"_id":"1.2.3.5"}) <-- 报错 dup key: { : null }
很可能是因为您的索引需要一个字段的唯一值,如下所示:
> db.servers.remove()
> db.servers.ensureIndex({"name": 1}, { unique: 1})
> db.servers.insert({"_id": "1.2.3"})
> db.servers.insert({"_id": "1.2.4"})
E11000 duplicate key error index: test.servers.$name_1 dup key: { : null }
您可以使用集合上的getIndexes()
方法查看您的索引:> db.servers.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "test.servers",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"name" : 1
},
"unique" : true,
"ns" : "test.servers",
"name" : "name_1"
}
]