~ 4 мин
MongoDB для NodeJS туториал: Часть 1 - Установка MongoDB и соединение с базой данных
698
10.04.2021
MongoDB - NoSQL БД с открытым исходным кодом, использующая JSON-документы для хранения данных без описания схемы таблиц


Что же такое MongoDB и NoSQL базы данных?

Согласно википедии:
MongoDB - это документоориентированная система управления базами данных с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных...
Что значит документоориентированная или NoSQL?
Документированная БД хранит данные в виде документов и обычно реализуется с помощью подхода NoSQL. Эти документы имеют структуру дерева. Структура начинается с корневого узла и может содержать несколько внутренних и листовых узлов. Листовые узлы содержат данные, которые при добавлении документа заносятся в индексы, что позволяет даже при достаточно сложной структуре данных находить место искомых данных.
Документы могут быть организованы (сгруппированы) в коллекции. Аналог таблиц в реляционных БД. Но коллекции могут хранить другие коллекции. Хотя документы в коллекции могут быть с произвольным содержимым, принято использовать в коллекции документы со схожей структурой.
Документооиентированные БД применяются в система управления содержимым, издательском деле, документальном поиске и т.п. К СУБД данного типа относятся CouchDB, Couchbase, MongoDB, Berkeley DB.
В данной статье мы рассмотрим возможности NoSQL БД на примере MongoDB.
Преимущества MongoDB
MongoDB - как раз относится к документоориентированным базам данных, которая хранит данные в виде JSON-подобных документов.
JSON-документы
{ "_id": "5cf0029caff5056591b0ce7d", "firstname": "Денис", "lastname": "Иванов", "address": { "street": "Ленина ул.", "city": "Ижевск", "region": "Удмуртская республика", "zip": "426000", "hobbies": ["серфинг", "кодинг"] }
Такие JSON-подобные документы поддерживают массивы и вложенные объекты. И позволяют строить гибкие и динамические схемы.
Мощный язык запросов
Богатый и выразительный язык запросов, который позволяет фильтровать и сортировать по любому полю, независимо от того, насколько вложенным оно может быть в документе.
db