sql >> Databáze >  >> NoSQL >> MongoDB

Chyba duplicitního klíče pole mongo _id

Pravděpodobně je to proto, že máte index, který vyžaduje jedinečnou hodnotu pro jedno z polí, jak je uvedeno níže:

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

Své indexy můžete zobrazit pomocí getIndexes() ve sbírce:

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


  1. Jak podmíněně restartuji řetězec slibů od začátku?

  2. Dotazování na pole vnořených objektů

  3. doba vyhledávání s indexem> bez indexu

  4. Dotazování odlišné s MongoMapper