Шаг 1.
Запуск MongoDB > Localhost > use konspect (после потребуется рефреш базы данных через localhost > refresh или localhost > … > Refresh databases)
use konspect — создает базу данных под именем konspect и переходит в неё для последующей работы

Шаг 2. Создание юзера и коллекции для него
Создание одного юзера
db.users.insertOne({
name:"Deniel",
age:25
})
Создание нескольких юзеров за раз
db.users.insertMany([
{name:"Anton", age:24},
{name:"Natali", age:23},
{name:"Ksenija", age:22},
{name:"Kostja", age:21},
{name:"Zhan", age:20},
{name:"Anja", age:19},
])
db.users.find() — отображается все имеющиеся записи в коллекции users

Пример создания нескольких записей разом
db.users.insertMany([
{name:"Anton", age:24},
{name:"Natali", age:23},
{name:"Ksenija", age:22},
{name:"Kostja", age:21},
{name:"Zhan", age:20},
{name:"Anja", age:19},
])

команда: db.users.find({$or:[{name:»Zhan»},{age: 25}]}) — отображение из коллекции users записей где name=Zhan или age=25

Сортировка записей в коллеции:
пример: db.users.find({age:{$lt:23}}) — выводит все записи из коллеции где age меньше 23

Так же есть другие типы сортировки
$lt <
$gt >
$lte <=
$gte >=
$ne not equals не равен какому-то значению
sort({age:-1}) - сортировка по убыванию
sort({age:1}) - сортировка по возрастанию
поиск определенного пользователя по айди
db.users.findOne({_id:ObjectId("682da4a66aa7bdeab61fe6cf")})

Команда на смену данных для компонента
db.users.updateOne(
{name:"Deniel"},
{
$set: {
name: "ilon mark",
age:27
}
}
)

Описание:
для компонента где name=Deniel меняется имя на ilon mark и age становится 27
db.users.updateMany(
{},
{
$rename: {
name: "fullname"
}
}
)


тут производится переименование name на fullname
db.users.bulkWrite([
{
insertOne: {
document:{name: "nastya", age:27}
}
},
{
deleteOne: {
filter: {fullname: "Natali"}
}
}
])
--добавили нового пользователя и удалили другого(Натали) - 2 действия в одной команде

Добавление 2х постов компоненту с именем Жан
db.users.update(
{fullname: "zhan"},
{
$set: {
posts:[
{title: 'javascript', text: 'js top'},
{title: 'mongo', text: 'mongo database'},
]
}
}
)
поиск постов где есть слово javascript
db.users.find(
{
posts: {
$elemMatch: {
title: "javascript"
}
}
}
)

Создание конекшена mongo с webstorm
Шаг 1. Заходим на сайт mongodb.com
Шаг 2. Логинимся или создаем юзера
Шаг 3. Создаем новый проект


Шаг 4. Переходим к созданию кластера

Шаг 5. Создаем юзера и запоминаем пароль

Add a connection IP address > Network Access
так же IP address надо сменить на 0.0.0.0/0

Шаг 6. Connect to Cluster0 — Выбираем drivers

На данном экране надо только скопировать connection string

Шаг 7. Открываем WebStorm > New project > Node.js и создаем проект

Шаг 8. После создания проекта надо открыть терминал и использовать 2 команды
- npm init -y
- npm i mondobd

Шаг 9. Код для проверки и финальной установки связи с MongoDB
const { MongoClient } = require('mongodb');
const client = new MongoClient('mongodb+srv://denielk:qwerty12345@cluster0.fjfbuar.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0');
const start = async () => {
try {
await client.connect();
console.log('Connected to MongoDB');
await client.db().createCollection('users');
const users = client.db().collection('users');
users.insertOne({name: 'Deniel', age: 21})
const user = await users.findOne({name: 'Deniel'})
console.log(user)
} catch (e) {
console.log(e)
}
}
start()

Весь цикл пройден и MongoDB связана с WebStorm
