~ 4 мин
MongoDB для NodeJS туториал: Часть 1 - Установка MongoDB и соединение с базой данных
407
4/10/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.users.find({ "address.zip" : "90404" }) { "_id": "5cf0029caff5056591b0ce7d", "firstname": "Jane", "lastname": "Wu", "address":{}} { "_id": "507f1f77bcf86cd799439011", "firstname": "Jon", "lastname": "Davis", "address":{}} { "_id": "5349b4ddd2781d08c09890f3", "firstname": "Jim", "lastname": "White", "address":{}} { "_id": "5bf142459b72e12b2b1b2cd", "firstname": "Jeff", "lastname": "Taylor", "address":{}} { "_id": "5cf003283b23d04a40d5f88a", "firstname": "Jerry", "lastname": "Miller", "address":{}} { "_id": "5bf142459b72e12b2b1b2cd", "firstname": "Jai", "lastname": "Williams", "address":{}} { "_id": "5cf0036deaa1742dd225ea35", "firstname": "Jess", "lastname": "Johnson", "address":{}} { "_id": "54495ad94c934721ede76d90", "firstname": "Jill", "lastname": "Brown", "address":{}} { "_id": "566eb3c704c7b31facbb0007", "firstname": "Janet", "lastname": "Jones", "address":{}} { "_id": "5a999cc461d36489a27f2563", "firstname": "Jan", "lastname": "Smith", "address":{}}
Предоставляет всю мощь реляционных БД плюс немного больше!
session.start_transaction() order = { line_items : [ { item : 5, quantity: 6 } ] } db.orders.insertOne( order, session=session ); for x in order.line_items: db.inventory.update( { _id : x.item } , { $inc : { number : -1 * x.quantity } }, session=session ) session.commit_transaction()
Что нужно чтобы начать с ней работать?
Для того, чтобы начать работать с этой базой данных есть два пути:
- Облачные сервисы (это например Mlab или MongoDB Atlas);
- Локальная установка.
Если нет желания запариваться с установкой, то следуйте первому пути. Необходимо зарегистрироваться и далее создать базу данных с помощью внутреннего визарда. Который все сделает за вас и даст вам ссылку на БД, с которой мы и будем работать.
Но мы пойдем другим путем и запустим сервис mongoDB на локальной машине c Windows 10.
Для этого необходимо с официального сайта скачать два установочника, перед этим тоже зарегистрировавшись.
- MongoDB Server (для Windows);
- MongoDB Compass Community Edition.
Первое - это собственно сама база данных с драйверами для Windows. А второе - это GUI для более удобной работы с БД.
Процесс установки довольно простой и после установки двух пакетов. Необходимо запустить MongoDB Compass найдя его в панели приложений Windows 10.
После запуска мы увидим следущее окно:
В MongoDB Compass мы можем работать как с локальной БД, так и с облачными сервисами mlab.com и mongodb.com.
Взгляните на наш стартап:
Выбирай экскурсии и активности по всему миру
Уже зарегистрировано 0 стран, 0 направлений, 0 экскурсий
Есть интересная идея?
И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию