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

Rozdíl MongoDB mezi kódem chyby 11000 a 11001

Kód 11001 neexistuje ve větvi 2.5/2.6 na GitHubu, takže pokud zkoušíte verzi 2.5, nemůžete ji vytvořit. Podíval jsem se na kód, ale nemůžu najít žádnou cestu, která by ukazovala 11001 kód buď přímo.

Na následujících několika řádcích se zobrazí kód 11001 :

db.so.drop();
db.so.insert( { foo: 5 } );
db.so.ensureIndex( { foo: 1 }, { unique: true } );
db.so.insert( { foo: 6 } );

Očekávaných 11000 :

db.so.insert( { foo: 5 } );
E11000 duplicate key error index: test.so.$foo_1  dup key: { : 5.0 }

A nyní k dosažení 11001 :

db.so.insert( { foo: 6 } );
db.so.update( { foo: 6 }, { $set: { foo: 5 } } );
E11000 duplicate key error index: test.so.$foo_1  dup key: { : 5.0 }

Stále původní 11000 , ale:

db.getPrevError();
{
    "err" : "E11000 duplicate key error index: test.so.$foo_1  dup key: { : 5.0 }",
    "code" : 11001,
    "n" : 0,
    "nPrev" : 1,
    "ok" : 1
}

Že původní textová chybová zpráva zobrazuje E11000 je chyba:https://jira.mongodb.org/browse/SERVER-5978



  1. jak zobrazit dotaz při používání anotací dotazu s MongoRepository s jarními daty

  2. Zvýšení limitu paměti pro agregační úlohy mongodb

  3. Jak vytvořím výpis MongoDB své databáze?

  4. MongoDB odebere kolekci mapreduce