Клас MongoDB\BSON\ObjectId
(mongodb >=1.0.0)
Вступ
Тип BSON для» ObjectId. Значення складається з 12 байтів, де перші чотири байти є міткою часу, що відбиває створення ObjectId. Зокрема, значення складається з:
- 4-байтове значення, що становить секунди з початку епохи Unix,
- 5-байтове випадкове число, унікальне для машини та процесу, та
- 3-байтовий лічильник, що починається з випадкового значення.
У MongoDB кожен документ, що зберігається в колекції, вимагає унікального поля _id
що діє як первинний ключ. Якщо у вставленому документі пропущено поле _id
, драйвер автоматично створює ObjectId для поля _id
Использование ObjectIds для поля_id
забезпечує такі додаткові переваги:
- Час створення ObjectId можна отримати за допомогою методуMongoDB\BSON\ObjectId::getTimestamp()
- Сортування по полю
_id
, в якому зберігаються значення ObjectId, приблизно еквівалентна сортуванню за часом створення.
Огляд класів
final
class MongoDB\BSON\ObjectId
implements
MongoDB\BSON\ObjectIdInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Методы */
final public __construct(?string $id = null)
final public getTimestamp(): int
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}
список змін
Версия | Опис |
---|---|
PECL mongodb 1.12.0 | Реалізує інтерфейс Stringable для PHP 8.0+. |
PECL mongodb 1.3.0 | |
Перейменований з MongoDB\BSON\ObjectID вMongoDB\BSON\ObjectId |
Реалізує інтерфейс MongoDB\BSON\ObjectIdInterface
| | PECL mongodb 1.2.0 Реалізує інтерфейси Serializable і JsonSerializable.
Зміст
- MongoDB\BSON\ObjectId::__construct - Створює новий ObjectId
- MongoDB\BSON\ObjectId::getTimestamp— Повертає позначку часу ObjectId
- MongoDB\BSON\ObjectId::jsonSerialize— Повертає уявлення, яке можна перетворити на JSON
- MongoDB\BSON\ObjectId::serialize - Серіалізує ObjectId
- MongoDB\BSON\ObjectId::__function toString() { [native code] }— Повертає шістнадцяткову виставу ObjectId
- MongoDB\BSON\ObjectId::unserialize - Десеріалізує ObjectId