GitHub上的2.5/2.6分支中不存在代碼11001
,所以如果您嘗試的是2.5版本,則無法創建它。我確實看了一下代碼,但是我找不到任何直接顯示11001
代碼的路徑。
下面的幾行會顯示代碼11001
:
db.so.drop();
db.so.insert({ foo: 5 });
db.so.ensureIndex({ foo: 1 }, { unique: true });
db.so.insert({ foo: 6 });
預期11000
:
db.so.insert({ foo: 5 });
E11000 duplicate key error index: test.so.$foo_1 dup key: { : 5.0 }
而現在達到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 }
仍然是原來的11000
,但是:
db.getPrevError();
{
"err" : "E11000 duplicate key error index: test.so.$foo_1 dup key: { : 5.0 }",
"code" : 11001,
"n" : 0,
"nPrev" : 1,
"ok" : 1
}
原來的文本錯誤信息顯示E11000
是一個錯誤:https://jira.mongodb.org/browse/SERVER-5978
我找不到錯誤'11001'在https://github.com/mongodb/mongo/blob/master/src /mongo/base/error_codes.err並且該鏈接已死亡。這個問題是特定於mongo版本的嗎? – binki