Objekt

Englisch [ˈɒbdʒɪkt]

n. Objekt; Ziel; Objekt, Objekt

vi

id

英[ɪd]

n Ausweis; instinktiver Impuls;

MongoDB ObjectId-Funktion Syntax

Funktion: ObjectId sind 12-Byte-Daten vom Typ BSON mit dem folgenden Format: Die ersten 4 Bytes stellen den Zeitstempel dar, die nächsten 3 Bytes sind der Maschinenidentifikationscode und die nächsten zwei Bytes bestehen aus der Prozess-ID (PID). Die letzten drei Bytes sind Zufallszahlen. In MongoDB gespeicherte Dokumente müssen einen „_id“-Schlüssel haben. Der Wert dieses Schlüssels kann einen beliebigen Typ haben und der Standardwert ist ein ObjectId-Objekt. In einer Sammlung verfügt jedes Dokument über einen eindeutigen „_id“-Wert, um sicherzustellen, dass jedes Dokument in der Sammlung eindeutig identifiziert werden kann. Der Hauptgrund, warum MongoDB ObjectId anstelle anderer konventionellerer Methoden (z. B. der automatischen Erhöhung des Primärschlüssels) verwendet, liegt darin, dass es mühsam und zeitaufwändig ist, den Primärschlüsselwert auf mehreren Servern zu synchronisieren und automatisch zu erhöhen.

MongoDB ObjectId-Funktion Beispiel

创建新的ObjectId
使用以下代码生成新的ObjectId:

>newObjectId = ObjectId()
上面的语句返回以下唯一生成的id:

ObjectId("5349b4ddd2781d08c09890f3")
你也可以使用生成的id来取代MongoDB自动生成的ObjectId:

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")
创建文档的时间戳
由于 ObjectId 中存储了 4 个字节的时间戳,所以你不需要为你的文档保存时间戳字段,你可以通过 getTimestamp  函数来获取文档的创建时间:

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()
以上代码将返回 ISO 格式的文档创建时间:

ISODate("2014-04-12T21:49:17Z")
ObjectId 转换为字符串
在某些情况下,您可能需要将ObjectId转换为字符串格式。你可以使用下面的代码:

>new ObjectId().str
以上代码将返回Guid格式的字符串::

5349b4ddd2781d08c09890f3