bazi_danix

Это старая версия документа!


Бази даних

MongoDB - одна з найпопулярніших нереляційних баз даних, яка зберігає дані у форматі документів, використовуючи JSON-подібні об'єкти. Це спростить наше знайомство із цією БД, оскільки вона працює із даними дуже подібно до того, як ви вже робили це в рамках курсу по фронтенду.

Ось кілька переваг MongoDB:

  • Гнучкість схеми:MongoDB дозволяє легко зберігати дані без потреби строго визначеної схеми. Кожен документ може мати власну унікальну структуру, що робить базу даних більш гнучкою та адаптивною до змін в структурі даних.
  • При роботі із MongoDB є можливість визначати схему, яка буде допомагати нам записувати дані в базу, а також формувати із них певну структуру при їх зчитуванні, але вона не гарантує, що в базі даних кожен запис буде відповідати цій схемі. Цим ця база відрізняється від реляційних СУБД.
  • Швидкодія:Завдяки своїй архітектурі та індексам MongoDB може швидко виконувати операції читання та запису великих обсягів даних.
  • Масштабованість:MongoDB легко масштабується, дозволяючи горизонтально розширювати систему внаслідок додавання нових серверів (шардингу).
  • Реплікація(створення копії) та висока доступність:MongoDB підтримує автоматичну реплікацію даних на кількох серверах, що забезпечує високу доступність та стійкість до відмов. Цей пункт характеризує можливість її використання у високонавантажених системах.
  • Спрощене програмування:Завдяки використанню BSON (Binary JSON), взаємодія з базою даних стає природньою для розробників, які працюють з мовами програмування, такими як JavaScript, Python, або Node.js.

модуль

mpn instal mongoose

підключення

// 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;
  }
};
  • /sites/data/attic/bazi_danix.1716633588.txt.gz
  • Последнее изменение: 2024/05/25 10:39
  • tro