MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongo _id-Feld doppelter Schlüsselfehler

Wahrscheinlich liegt es daran, dass Sie einen Index haben, der einen eindeutigen Wert für eines der unten gezeigten Felder erfordert:

> 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 }

Sie können Ihre Indizes mit getIndexes() sehen auf der Sammlung:

> 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"
    }
]