MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

грешка при дублиране на ключ в поле mongo _id

Вероятно това е така, защото имате индекс, който изисква уникална стойност за едно от полетата, както е показано по-долу:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. изберете отделен mongodb C#

  2. Вече налични:Напълно хоствани екземпляри на MongoDB на AWS

  3. Обхватите на релсите могат да филтрират по броя на свързаните класове за дадено поле

  4. Схема на Mongoose за geoJson координати

  5. MongoDB - $project вложен документ до основно ниво