noSQL

MongoDB — это база данных, в которой есть множество коллекций, содержащих документы.

collection

Коллекция в MongoDB это совокупность документов.

  • Аналог таблицы в реляционных базах данных.
  • Все документы хранятся в коллекциях.
  • Документы в одной коллекции могут иметь разную структуру, что делает систему гибкой.
  • Коллекция users может содержать один документ только с именем и email, а другой — с именем, email, номером телефона и адресом.

document

Содержит ключ-значение пары, может включать вложенные структуры и массивы.

Документ — это единица хранения данных в MongoDB.

Представляет собой объект в формате JSON

//ПРИМЕР:

{
  "_id": ObjectId("507f1f77bcf86cd799439011"),
  "name": "Milan",
  "email": "test@example.com",
  "number": "55555555"
}

ЗАПРОСЫ:

1. Создание базы

при использовании use автоматически создаеться новая база если ее нет

use tarpv24;

2. Создание коллекции

в (“…”) передаем название коллекции

db.createCollection("users")

3. Добавление документа

//Передаем  данные как { ключ: значение, ключ: значение, }

db.users.insertMany([
    { name: "alice", age: 25 },
    { name: "charlie", age: 35 },   
    { name: "dave", age: 28 },
    { name: "eve", age: 22 },
    { name: "frank", age: 40 }
])

ИЛИ

db.users.insertOne({
    name:"bob",
    age: 30,
})

4.Удаление документа

обращаемся к базе через db.users и в {} указываем условие

db.users.deleteOne({age:22},{name:"eve"})

5.Поиск по условию

db.users.find({$or:[{name:"alice"},{name:"bob"}]})

Условия:

Оператор Описание Пример
$eq равно { age: { $eq: 30 } }
$ne не равно { age: { $ne: 30 } }
$gt больше { age: { $gt: 25 } }
$gte больше или равно { age: { $gte: 18 } }
$lt меньше { age: { $lt: 40 } }
$lte меньше или равно { age: { $lte: 65 } }

логическое ‘И’ (mongoDB использует $and по умолчанию)

db.users.find({age:{$gt:18},name:"alice"})

Подключение через node.js