Какво е първичен ключ в MongoDB?
В MongoDB полето _id като първичен ключ за колекцията, така че всеки документ може да бъде уникално идентифициран в колекцията. Полето _id съдържа уникална стойност на ObjectID.
По подразбиране при вмъкване на документи в колекцията, ако не добавите име на поле с _id в името на полето, тогава MongoDB автоматично ще добави поле на идентификатор на обект, както е показано по-долу
Когато заявявате документи в колекция, можете да видите ObjectId за всеки документ в колекцията.
Ако искате да се уверите, че MongoDB не създава полето _id, когато се създава колекцията и ако искате да посочите свой собствен идентификатор като _id на колекцията, тогава трябва изрично да дефинирате това, докато създавате колекцията.
Когато изрично създавате поле за идентификация, то трябва да бъде създадено с _id в името му.
Нека разгледаме пример за това как можем да постигнем това.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Обяснение на кода:
- Предполагаме, че създаваме първия документ в колекцията и следователно в горния израз, докато създаваме колекцията, ние изрично дефинираме полето _id и дефинираме стойност за него.
Ако командата се изпълни успешно и сега използвате командата find за показване на документите в колекцията, ще се покаже следният изход
Изход:
Резултатът ясно показва, че полето _id, което дефинирахме при създаването на колекцията, сега се използва като първичен ключ за колекцията.