MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

erreur de clé en double du champ mongo _id

C'est probablement parce que vous avez un index qui requiert une valeur unique pour l'un des champs comme indiqué ci-dessous :

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

Vous pouvez voir vos index en utilisant getIndexes() sur la collecte :

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