Учебники

MongoDB — Обзор

MongoDB — это кроссплатформенная, ориентированная на документы база данных, которая обеспечивает высокую производительность, высокую доступность и простоту масштабирования. MongoDB работает над концепцией сбора и документа.

База данных

База данных — это физический контейнер для коллекций. Каждая база данных получает свой набор файлов в файловой системе. Один сервер MongoDB обычно имеет несколько баз данных.

Коллекция

Коллекция представляет собой группу документов MongoDB. Это эквивалент таблицы RDBMS. Коллекция существует в одной базе данных. Коллекции не применяют схему. Документы в коллекции могут иметь разные поля. Как правило, все документы в коллекции имеют аналогичное или связанное назначение.

Документ

Документ — это набор пар ключ-значение. Документы имеют динамическую схему. Динамическая схема означает, что документы в одной коллекции не обязательно должны иметь одинаковый набор полей или структуру, а общие поля в документах коллекции могут содержать данные разных типов.

В следующей таблице показана взаимосвязь терминологии СУБД с MongoDB.

RDBMS MongoDB
База данных База данных
Таблица Коллекция
Кортеж / Ряд Документ
колонка поле
Присоединение к таблице Вложенные документы
Основной ключ Первичный ключ (ключ по умолчанию _id, предоставленный самой mongodb)
Сервер базы данных и клиент
ТуздЫ / Oracle mongod
MySQL / SQLPLUS монго

Образец документа

В следующем примере показана структура документа сайта блога, представляющая собой просто пару значений ключа через запятую.

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}

_id — это 12-байтовое шестнадцатеричное число, которое обеспечивает уникальность каждого документа. Вы можете указать _id при вставке документа. Если вы не предоставите, MongoDB предоставит уникальный идентификатор для каждого документа. Эти 12 байтов, первые 4 байта для текущей метки времени, следующие 3 байта для идентификатора машины, следующие 2 байта для идентификатора процесса сервера MongoDB и оставшиеся 3 байта являются простым инкрементным ЗНАЧЕНИЕМ.