MongoDB

Шаг 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 команды

  1. npm init -y
  2. 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