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

創(chuàng)建新的ObjectId
使用以下代碼生成新的ObjectId:

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

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

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")
創(chuàng)建文檔的時間戳
由于 ObjectId 中存儲了 4 個字節(jié)的時間戳,所以你不需要為你的文檔保存時間戳字段,你可以通過 getTimestamp  函數(shù)來獲取文檔的創(chuàng)建時間:

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()
以上代碼將返回 ISO 格式的文檔創(chuàng)建時間:

ISODate("2014-04-12T21:49:17Z")
ObjectId 轉換為字符串
在某些情況下,您可能需要將ObjectId轉換為字符串格式。你可以使用下面的代碼:

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

5349b4ddd2781d08c09890f3