Ich gehe davon aus, dass es nur ein Tippfehler in der Dokumentation ist. Das _id
Feld ist der Primärschlüssel für jedes Dokument. Es heißt _id
und ist auch über erreichbar id
. Der Versuch, einen id
Schlüssel zu verwenden, kann zu einem illegal ObjectId format
Fehler führen.
Dieser Abschnitt zeigt lediglich an, dass die automatisch generierten ObjectIDs mit einem Zeitstempel beginnen, sodass Sie Ihre Dokumente automatisch sortieren können. Das ist ziemlich cool, da das _id
automatisch in jeder Sammlung indiziert wird. Weitere Informationen finden Sie unter http://www.mongodb.org/display/DOCS/Object+IDs . Speziell unter "BSON ObjectID Specification".
Eine BSON-Objekt-ID ist ein 12-Byte-Wert, der aus einem 4-Byte-Zeitstempel (Sekunden seit der Epoche), einer 3-Byte-Maschinen-ID, einer 2-Byte-Prozess-ID und einem 3-Byte-Zähler besteht. Beachten Sie, dass die Zeitstempel- und Zählerfelder im Gegensatz zum Rest von BSON Big Endian gespeichert werden müssen.
_id
für jedes Dokument einer Sammlung obligatorisch? Mit anderen Worten, kann ich ein neues Dokument ohne das_id
Feld erstellen ?_id
Feld obligatorisch. «In MongoDB benötigt jedes in einer Sammlung gespeicherte Dokument ein eindeutiges_id
Feld, das als Primärschlüssel fungiert. Wenn ein eingefügtes Dokument das_id
Feld weglässt , generiert der MongoDB-Treiber automatisch einObjectId
für das_id
Feld ».Das
_id
Feld ist das Standardfeld für Bson ObjectIds und standardmäßig indiziert._id
und id sind nicht dasselbe. Sie können auch ein Feld mit dem Namen hinzufügen,id
wenn Sie möchten. Es handelt sich jedoch nicht um einen Index, es sei denn, Sie fügen einen Index hinzu.Es ist nur ein Tippfehler in den Dokumenten.
quelle
id ist ein Alias für _id in mongoid.id, der die _id des Dokuments zurückgibt. https://github.com/mongodb/mongoid/blob/master/lib/mongoid/fields.rb#L47
Wenn das Feld _id nicht angegeben ist, wird automatisch eine ObjectedId generiert.
quelle
Meine zwei Cent:
Das Feld _id
MongoDB
Weist_id
jedem Dokument ein Feld zu und weist ihm einen Primärindex zu. Es gibt Möglichkeiten, wie wir auch Sekundärindizes anwenden können. Erstellt standardmäßigMongoDB
Werte für das_id
Feld TypObjectID
. Dieser Wert ist in derBSON
Spezifikation definiert und folgendermaßen strukturiert:quelle