Latest web development tutorials
×

MongoDB курс

MongoDB курс NoSQL Краткое введение MongoDB Краткое введение Window устанавливать MongoDB Linux устанавливать MongoDB MongoDB Интерпретация Концепции MongoDB подключение MongoDB Создание базы данных MongoDB Удалить базу данных MongoDB Вставить документ MongoDB Обновление документации MongoDB Удаление документов MongoDB документ Запрос MongoDB Условный оператор MongoDB $type операторы MongoDB Limit & Skip MongoDB последовательность MongoDB индекс MongoDB агрегирование MongoDB копия MongoDB Ломтики MongoDB Резервное копирование и восстановление MongoDB монитор MongoDB Java MongoDB PHP распространение MongoDB PHP MongoDB PHP7

MongoDB Расширенный учебник

MongoDB отношения MongoDB ссылки на базы данных MongoDB Индекс покрытия запроса MongoDB анализ запросов MongoDB атомарные операции MongoDB Расширенный индексации MongoDB ограничения индекса MongoDB ObjectId MongoDB Map Reduce MongoDB Полнотекстовый поиск MongoDB Регулярные выражения MongoDB Инструменты управления MongoDB GridFS MongoDB Фиксированный набор MongoDB Автоматический рост

MongoDB ObjectId

В первых нескольких главах мы использовали MongoDB объект Id (ObjectId).

В этом разделе мы рассмотрим структуру ObjectId.

ObjectId BSON это тип данных, 12-байт, имеет следующий формат:

  • Первые четыре байта временной метки
  • Следующие три байта машинного кода
  • Сразу два байта, составленные идентификатор процесса (PID)
  • Последние три байта случайных чисел.

MongoDB документы, хранящиеся там должен быть ключ "_id". Значение этого ключа может быть любого типа, по умолчанию ObjectId объект.

В один комплект внутри каждого документа имеет уникальный "_id" значение, чтобы обеспечить сбор внутри каждого документа может быть однозначно определены.

MongoDB использует ObjectId, но не является основной причиной других, более традиционный подход (например, первичный ключ автоинкрементируемого), так как значение первичного ключа автоматически увеличивается синхронизацию между несколькими серверами также отнимает много времени и трудоемким.


Создать новую ObjectId

Используйте следующий код для создания нового ObjectId:

>newObjectId = ObjectId()

Выше оператор возвращает следующий однозначно сгенерированный идентификатор:

ObjectId("5349b4ddd2781d08c09890f3")

Вы можете также использовать сгенерированный идентификатор вместо MongoDB автоматически генерируется ObjectId:

>myObjectId = ObjectId("5349b4ddd2781d08c09890f4")

Создание временных меток документов

Так как ObjectId хранятся в четырех байтах штамп времени, так что вам не нужно, чтобы сохранить поле временной метки для ваших документов, вы можете создать время, чтобы получить документы от функции getTimestamp:

>ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()

Приведенный выше код будет возвращать время создания документа формата ISO:

ISODate("2014-04-12T21:49:17Z")

ObjectId преобразуется в строку

В некоторых случаях, возможно, потребуется преобразовать строку ObjectId формат. Вы можете использовать следующий код:

>new ObjectId().str

Приведенный выше код будет возвращать строку формата Guid ::

5349b4ddd2781d08c09890f3