Co je primární klíč v MongoDB?
V MongoDB pole _id jako primární klíč pro kolekci, aby bylo možné každý dokument v kolekci jednoznačně identifikovat. Pole _id obsahuje jedinečnou hodnotu ObjectID.
Ve výchozím nastavení při vkládání dokumentů do kolekce, pokud nepřidáte název pole s _id v názvu pole, pak MongoDB automaticky přidá pole ID objektu, jak je znázorněno níže
Při dotazování na dokumenty v kolekci můžete vidět ObjectId pro každý dokument v kolekci.
Pokud se chcete ujistit, že MongoDB nevytvoří pole _id při vytváření kolekce a chcete-li zadat své vlastní id jako _id kolekce, musíte to při vytváření kolekce explicitně definovat.
Když explicitně vytváříte pole id, musí být vytvořeno s _id v názvu.
Podívejme se na příklad, jak toho můžeme dosáhnout.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Vysvětlení kódu:
- Předpokládáme, že vytváříme první dokument v kolekci, a proto ve výše uvedeném příkazu při vytváření kolekce explicitně definujeme pole _id a definujeme pro něj hodnotu.
Pokud je příkaz úspěšně proveden a nyní k zobrazení dokumentů v kolekci použijte příkaz find, zobrazí se následující výstup
Výstup:
Výstup jasně ukazuje, že pole _id, které jsme definovali při vytváření kolekce, se nyní používá jako primární klíč pro kolekci.