В якості бази даних я вибрала об'єктно-реляційну БД (ORM) MongoDB, так як її структура подібна структурі об'єктів Java Script, а також є можливість безкоштовно завантажувати обмежену кількість даних в MongoDB в інтернеті, таким чином забезпечивши цілодобовий доступ через мережу Internet.
Mongoose же призначений для асинхронної роботи із MongoDB, т.е. у разі необхідності виконувати декілька запитів паралельно.
Mongoose же призначений для асинхронної роботи із MongoDB, т.е. у разі необхідності виконувати декілька запитів паралельно.
Порядок налаштування доступу до БД | ||
---|---|---|
1. | (Якщо ще не встановлено), скачати і встановити Node.js на комп'ютер. | |
2. | (Якщо ще не створено), створити новий проект (команда терміналу) | |
3. | - ввести в терміналі, щоб встановити бібліотеки в каталог проекту node_modules | |
4. |
|
- імпорт в файл index.js |
5. | - підключення до бази даних за посиланням, що знаходиться у змінній db_url | |
Створення нового користувача (тип об'єкту Map зручний, якщо будуть змінюватися значення як ключів key так і їх значень value) | ||
6. |
|
- створення схеми userSchema: назви полів і формати їх значень |
7. |
|
- створення моделі userModel: присвоєння колекції users схеми userSchema |
|
- створення моделі без конкретної схеми, щоб у неї можна було записувати будь-які поля | |
! |
|
- якщо в БД уже існує колекція "users", але з іншою схемою, то її спочатку необхідно видалити, інакше буде неможливо записати дані за новою схемою |
8. |
|
- створення нового користувача в колекції userList ✅ Необов’язкові поля можна не вказувати – вони будуть undefined. ✅ Якщо є default, то буде використане значення за замовчуванням. ❌ Якщо поле required: true і не передано, буде помилка. |
Інші функції mongoose | ||
---|---|---|
Подивитися текст коду |
- отримання всіх користувачів | |
Подивитися текст коду |
- знайти користувача за Id | |
Подивитися текст коду |
- видалити користувача за Id | |
Подивитися текст коду |
- отримати колекцію без визначення схеми важливо, щоб до виконання даної функції БД встигла завантажитися, якщо БД не встигає завантажитися, то необхідно огорнути mongoose.connect(db_url) в асинхронну функцію |