Mi az elsődleges kulcs a MongoDB-ben?
A MongoDB-ben a _id mező, mint a gyűjtemény elsődleges kulcsa, így az egyes dokumentumok egyedileg azonosíthatók a gyűjteményben. A _id mező egyedi ObjectID értéket tartalmaz.
Alapértelmezés szerint a dokumentumok beszúrásakor a gyűjteménybe, ha nem ad hozzá mezőnevet a mezőnév _id értékével, akkor a MongoDB automatikusan hozzáadja az Object id mezőt az alábbiak szerint
Amikor lekérdezi a gyűjtemény dokumentumait, láthatja a gyűjtemény minden dokumentumának ObjectId-jét.
Ha azt szeretné, hogy a MongoDB ne hozza létre a _id mezőt a gyűjtemény létrehozásakor, és ha saját azonosítóját szeretné megadni a gyűjtemény _id-jének, akkor ezt kifejezetten meg kell határoznia a gyűjtemény létrehozása közben.
Amikor kifejezetten létrehoz egy id mezőt, akkor a _id nevével kell létrehozni.
Nézzünk meg egy példát arra, hogyan érhetjük el ezt.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Kód Magyarázat:
- Feltételezzük, hogy a gyűjtemény első dokumentumát készítjük, ezért a fenti utasításban a gyűjtemény létrehozása során kifejezetten meghatározzuk az _id mezőt, és meghatározunk annak értéket.
Ha a parancs sikeresen végrehajtásra kerül, és most a find paranccsal jeleníti meg a gyűjteményben lévő dokumentumokat, a következő Output jelenik meg
Kimenet:
A kimenet világosan mutatja, hogy a gyűjtemény létrehozása során definiált _id mezőt használjuk a gyűjtemény elsődleges kulcsaként.