Le code 11001
n'existe pas dans la branche 2.5/2.6 sur GitHub, donc si vous essayez une version 2.5, vous ne pouvez pas la créer. J'ai jeté un coup d'œil au code, mais je ne trouve aucun chemin indiquant le 11001
coder soit directement.
Les quelques lignes suivantes afficheront le code 11001
:
db.so.drop();
db.so.insert( { foo: 5 } );
db.so.ensureIndex( { foo: 1 }, { unique: true } );
db.so.insert( { foo: 6 } );
Le 11000
attendu :
db.so.insert( { foo: 5 } );
E11000 duplicate key error index: test.so.$foo_1 dup key: { : 5.0 }
Et maintenant pour atteindre le 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 }
Toujours le 11000
d'origine , mais :
db.getPrevError();
{
"err" : "E11000 duplicate key error index: test.so.$foo_1 dup key: { : 5.0 }",
"code" : 11001,
"n" : 0,
"nPrev" : 1,
"ok" : 1
}
Que le message d'erreur textuel d'origine affiche E11000
est un bogue :https://jira.mongodb.org/browse/SERVER-5978