Was ist der Primärschlüssel in MongoDB?
In MongoDB das Feld _id als Primärschlüssel für die Sammlung, damit jedes Dokument in der Sammlung eindeutig identifiziert werden kann. Das Feld _id enthält einen eindeutigen ObjectID-Wert.
Wenn Sie beim Einfügen von Dokumenten in die Sammlung standardmäßig keinen Feldnamen mit der _id im Feldnamen hinzufügen, fügt MongoDB automatisch ein Objekt-ID-Feld hinzu, wie unten gezeigt
Wenn Sie die Dokumente in einer Sammlung abfragen, wird die ObjectId für jedes Dokument in der Sammlung angezeigt.
Wenn Sie sicherstellen möchten, dass MongoDB beim Erstellen der Sammlung das Feld _id nicht erstellt, und wenn Sie Ihre eigene ID als _id der Sammlung angeben möchten, müssen Sie dies beim Erstellen der Sammlung explizit definieren.
Wenn Sie ein ID-Feld explizit erstellen, muss es mit _id im Namen erstellt werden.
Schauen wir uns ein Beispiel an, wie wir dies erreichen können.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Code Erläuterung:
- Wir gehen davon aus, dass wir das erste Dokument in der Sammlung erstellen, und daher definieren wir in der obigen Anweisung beim Erstellen der Sammlung explizit das Feld _id und definieren einen Wert dafür.
Wenn der Befehl erfolgreich ausgeführt wurde und jetzt den Befehl find verwendet, um die Dokumente in der Sammlung anzuzeigen, wird die folgende Ausgabe angezeigt
Ausgabe:
Die Ausgabe zeigt deutlich, dass das Feld _id, das wir beim Erstellen der Sammlung definiert haben, jetzt als Primärschlüssel für die Sammlung verwendet wird.