Probabilmente, è perché si avere un indice che richiede un unico il valore per uno dei campi come illustrato di seguito:
> 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 }
È possibile visualizzare gli indici utilizzando getIndexes()
sulla raccolta:
> 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"
}
]
Quale versione stai utilizzando? – WiredPrairie
È anche strano che restituisca "dupkey: {: null}" piuttosto che il valore della chiave che si è tentato di inserire – WiredPrairie
È il messaggio di errore completo? Si dispone di un indice nella raccolta dei server che richiede un valore univoco per ogni documento ...? Se inserisci due "null", otterrai quello con il secondo valore "null" – WiredPrairie