Mongodb generiert das Feld '_id' nur dann automatisch, wenn Sie beim Einfügen eines Dokuments keinen Wert für das Feld '_id' angeben. Sie können die _id also einfach manuell festlegen, wenn Sie das Dokument einfügen:
%Vor%Standardmäßig fügen alle regulären Sammlungen automatisch ein _id-Feld ein, wenn es nicht vorhanden ist.
Dieses Verhalten kann jedoch beim Erstellen der Sammlung geändert werden, indem der Parameter autoIndexId explizit auf false gesetzt wird.
%Vor%Dann können Sie Dokumente ohne _id Feld einfügen. Aber einige Treiber, wie das Javascript (und so die Mongo-Konsole), fügen das Feld _id selbst hinzu. In der Mongo-Konsole können Sie dies tun:
%Vor%Weitere Informationen zum Feld autoIndexId finden Sie in der MongoDB-Dokumentation . Diese Seite behandelt Capped Collections, das Feld autoIndexId ist jedoch sowohl für reguläre als auch für capped Collections verfügbar.
Es gibt keine Möglichkeit, _id-Felder in Mongong-Sammlungen zu entfernen. Wie @stephene sagte, habe ich das gleiche versucht, aber ich bekomme Fehler wie folgt
%Vor%Jedes MongoDB-Dokument muss ein eindeutiges Feld "_id" haben und wenn Sie es nicht angeben, wird es automatisch für Sie generiert.
Es ist nicht möglich, dieses Feld umzubenennen.
Ihre zwei Möglichkeiten sind:
1) ignoriere das generierte _id-Feld und benutze dein eigenes tenant_id-Feld (du musst einen eindeutigen Index für dieses Feld hinzufügen) oder 2) Speichern Sie den Wert für tenant_id im _id-Feld (und nutzen Sie die Tatsache, dass es bereits einen eindeutigen Index dafür hat).
Das Feld %code% ist der Standardschlüssel für ein Mongo-Dokument, es sei denn, Sie verwenden gecappte Sammlungen.
Es ist ein umschaltbares Feld, das nicht aus einer Dokumentstruktur herausgelassen werden kann.
Ich würde stattdessen %code% als %code% empfehlen.
Standardmäßig fügen alle regulären Sammlungen automatisch ein _id-Feld ein, wenn es nicht vorhanden ist.
Dieses Verhalten kann jedoch beim Erstellen der Sammlung geändert werden, indem der Parameter autoIndexId explizit auf false gesetzt wird.
%Vor%Dann können Sie Dokumente ohne _id Feld einfügen. Aber einige Treiber, wie das Javascript (und so die Mongo-Konsole), fügen das Feld _id selbst hinzu. In der Mongo-Konsole können Sie dies tun:
%Vor%Weitere Informationen zum Feld autoIndexId finden Sie in der MongoDB-Dokumentation . Diese Seite behandelt Capped Collections, das Feld autoIndexId ist jedoch sowohl für reguläre als auch für capped Collections verfügbar.
Jedes MongoDB-Dokument muss ein eindeutiges Feld "_id" haben und wenn Sie es nicht angeben, wird es automatisch für Sie generiert.
Es ist nicht möglich, dieses Feld umzubenennen.
Ihre zwei Möglichkeiten sind:
1) ignoriere das generierte _id-Feld und benutze dein eigenes tenant_id-Feld (du musst einen eindeutigen Index für dieses Feld hinzufügen) oder 2) Speichern Sie den Wert für tenant_id im _id-Feld (und nutzen Sie die Tatsache, dass es bereits einen eindeutigen Index dafür hat).
Tags und Links mongodb mongodb-java mongodb-query