MongoDB — это кроссплатформенная, ориентированная на документы база данных, которая обеспечивает высокую производительность, высокую доступность и простоту масштабирования. MongoDB работает над концепцией сбора и документа.
База данных
База данных — это физический контейнер для коллекций. Каждая база данных получает свой набор файлов в файловой системе. Один сервер MongoDB обычно имеет несколько баз данных.
Коллекция
Коллекция представляет собой группу документов MongoDB. Это эквивалент таблицы RDBMS. Коллекция существует в одной базе данных. Коллекции не применяют схему. Документы в коллекции могут иметь разные поля. Как правило, все документы в коллекции имеют аналогичное или связанное назначение. | ПрограммированиеJava-фреймворк Spring23 100 ₽1 925 ₽/мес.Подробнее
Документ
Документ — это набор пар ключ-значение. Документы имеют динамическую схему. Динамическая схема означает, что документы в одной коллекции не обязательно должны иметь одинаковый набор полей или структуру, а общие поля в документах коллекции могут содержать данные разных типов.
В следующей таблице показана взаимосвязь терминологии СУБД с 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 байта являются простым инкрементным ЗНАЧЕНИЕМ.