Co to jest klucz podstawowy w MongoDB?
W MongoDB pole _id jest kluczem podstawowym kolekcji, dzięki czemu każdy dokument można jednoznacznie zidentyfikować w kolekcji. Pole _id zawiera unikatową wartość ObjectID.
Domyślnie podczas wstawiania dokumentów do kolekcji, jeśli nie dodasz nazwy pola z _id w nazwie pola, MongoDB automatycznie doda pole Identyfikator obiektu, jak pokazano poniżej
Podczas wykonywania zapytań dotyczących dokumentów w kolekcji można zobaczyć identyfikator obiektu dla każdego dokumentu w kolekcji.
Jeśli chcesz mieć pewność, że MongoDB nie utworzy pola _id podczas tworzenia kolekcji i chcesz określić swój własny identyfikator jako _id kolekcji, musisz jawnie zdefiniować to podczas tworzenia kolekcji.
Podczas jawnego tworzenia pola identyfikatora należy je utworzyć z _id w nazwie.
Spójrzmy na przykład, jak możemy to osiągnąć.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Objaśnienie kodu:
- Wychodzimy z założenia, że tworzymy pierwszy dokument w kolekcji i stąd w powyższej instrukcji podczas tworzenia kolekcji jawnie definiujemy pole _id i definiujemy dla niego wartość.
Jeśli polecenie zostanie wykonane pomyślnie, a teraz użyj polecenia find, aby wyświetlić dokumenty w kolekcji, zostanie wyświetlony następujący wynik
Wynik:
Dane wyjściowe wyraźnie pokazują, że pole _id, które zdefiniowaliśmy podczas tworzenia kolekcji, jest teraz używane jako klucz podstawowy dla kolekcji.