bazi_danix

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
bazi_danix [2024/05/18 12:33]
tro создано
bazi_danix [2024/06/22 09:24] (текущий)
tro
Строка 1: Строка 1:
-====== Бази даних ======+====== Перації з базою даних в Node.js======
 ===== MongoDB ===== ===== MongoDB =====
-Одна з найпопулярніших нереляційних баз даних, яка зберігає дані у форматі документів, використовуючи JSON-подібні об'єкти. Це спростить наше знайомство із цією БД, оскільки вона працює із даними дуже подібно до того, як ви вже робили це в рамках курсу по фронтенду. +[[https://www.mongodb.com/|MongoDB]] - одна з найпопулярніших нереляційних баз даних, яка зберігає дані у форматі документів, використовуючи JSON-подібні об'єкти. Це спростить наше знайомство із цією БД, оскільки вона працює із даними дуже подібно до того, як ви вже робили це в рамках курсу по фронтенду.  
 + 
 +Ось кілька переваг MongoDB: 
 + 
 +  * Гнучкість схеми:MongoDB дозволяє легко зберігати дані без потреби строго визначеної схеми. Кожен документ може мати власну унікальну структуру, що робить базу даних більш гнучкою та адаптивною до змін в структурі даних. 
 +  * При роботі із MongoDB є можливість визначати схему, яка буде допомагати нам записувати дані в базу, а також формувати із них певну структуру при їх зчитуванні, але вона не гарантує, що в базі даних кожен запис буде відповідати цій схемі. Цим ця база відрізняється від реляційних СУБД. 
 +  * Швидкодія:Завдяки своїй архітектурі та індексам MongoDB може швидко виконувати операції читання та запису великих обсягів даних. 
 +  * Масштабованість:MongoDB легко масштабується, дозволяючи горизонтально розширювати систему внаслідок додавання нових серверів (шардингу). 
 +  * Реплікація(створення копії) та висока доступність:MongoDB підтримує автоматичну реплікацію даних на кількох серверах, що забезпечує високу доступність та стійкість до відмов. Цей пункт характеризує можливість її використання у високонавантажених системах. 
 +  * Спрощене програмування:Завдяки використанню BSON (Binary JSON), взаємодія з базою даних стає природньою для розробників, які працюють з мовами програмування, такими як JavaScript, Python, або Node.js. 
 + 
 +==== Підключення node.js ==== 
 +=== модуль === 
 +<code> 
 +mpn instal mongoose 
 +</code> 
 +=== підключення === 
 +<code> 
 +// src/db/initMongoDB.js 
 + 
 +import mongoose from 'mongoose'; 
 + 
 +import { env } from '../utils/env.js'; 
 + 
 +export const initMongoDB = async () => { 
 +  try { 
 +    const user = env('MONGODB_USER'); 
 +    const pwd = env('MONGODB_PASSWORD'); 
 +    const url = env('MONGODB_URL'); 
 +    const db = env('MONGODB_DB'); 
 + 
 +    await mongoose.connect( 
 +      `mongodb+srv://${user}:${pwd}@${url}/${db}?retryWrites=true&w=majority`, 
 +    ); 
 +    console.log('Mongo connection successfully established!'); 
 +  } catch (e) { 
 +    console.log('Error while setting up mongo connection', e); 
 +    throw e; 
 +  } 
 +}; 
 + 
 +</code> 
 +==== Додаткові утіліти ==== 
 +[[https://www.mongodb.com/try/download/compass|MongoDB Compass(GUI)]] - графічний інтерфейс для роботи з MongoDB, який дозволяє розробникам взаємодіяти з базою даних. Інтерфейс надає зручність у виконанні операцій з даними, включаючи перегляд, редагування та інше. Mongo Compass також дозволяє створювати складні запити, візуалізувати результати та безпечно керувати доступом до бази даних. 
 +==== Рекомендації ==== 
 +=== Доступ до БД з певних IP === 
 + 
 +Якщо до бази повинні мати доступ не тільки з того ж ip звідки її і створили, то необхідно окремо дозволити доступ до БД з усіх ip 
 +Виберіть свій кластер: 
 + 
 +У головній панелі керування виберіть проект, у якому знаходиться ваш кластер. 
 +Натисніть на кластер, до якого ви хочете надати доступ. 
 +Налаштування мережевого доступу: 
 + 
 +У меню зліва виберіть Network Access (Доступ до мережі). 
 +Натисніть на кнопку Add IP Address (Додати IP-адресу). 
 +Додати IP-адресу: 
 + 
 +У вікні, що з'явиться, введіть 0.0.0.0/0 у поле IP-адреси, щоб дозволити доступ з будь-якого IP-адреси. 
 +За потреби можете додати опис для цього правила в полі Comment (Коментар).
  
  • /sites/data/attic/bazi_danix.1716035618.txt.gz
  • Последнее изменение: 2024/05/18 12:33
  • tro