sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB forskel mellem fejlkode 11000 og 11001

Koden 11001 findes ikke i 2.5/2.6-grenen på GitHub, så hvis du prøver en 2.5-version, kan du ikke oprette den. Jeg har kigget på koden, men jeg kan ikke finde nogen sti, der viser 11001 kode enten direkte.

De følgende par linjer vil vise kode 11001 :

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

Den forventede 11000 :

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

Og nu for at nå 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 }

Stadig den originale 11000 , men:

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

At den originale tekstfejlmeddelelse viser E11000 er en fejl:https://jira.mongodb.org/browse/SERVER-5978



  1. En udviklervejledning til MongoDB Sharding

  2. Populate() ref indlejret i objektarray

  3. mongoose:find data ved at gå i loop på en række modeller

  4. Hvordan kaskade slette dokument i mongodb?