Блоки · Бази даних
MongoDB
MongoDB з flow: find, aggregate, insert/update/delete, bulk_write — filter і document як JSON.
Призначення
Блок MongoDB працює з колекціями через офіційний драйвер. Фільтри, документи та aggregation pipeline задаються JSON (можна з підстановкою {змінних} перед парсингом).
Не виконує SQL — для реляційних даних використовуйте блоки MySQL або PostgreSQL.
Підготовка
Налаштування → Бази даних → MongoDB: host/port (27017) або connection URI (mongodb+srv://…).
Для Atlas: додайте IP сервера Epsenta у Network Access; authSource — зазвичай admin.
- readOnly — лише читання (find, count, aggregate)
- maxRows — cap для find та aggregate
- replicaSet — якщо кластер вимагає ім'я replica set
Усі дії (функції)
- **Знайти документи** — оберіть у полі «Дія»
- **Знайти один** — оберіть у полі «Дія»
- **Вставити документ** — оберіть у полі «Дія»
- **Вставити багато** — оберіть у полі «Дія»
- **Оновити один** — оберіть у полі «Дія»
- **Оновити багато** — оберіть у полі «Дія»
- **Замінити документ** — оберіть у полі «Дія»
- **Видалити один** — оберіть у полі «Дія»
- **Видалити багато** — оберіть у полі «Дія»
- **Підрахувати** — оберіть у полі «Дія»
- **Унікальні значення** — оберіть у полі «Дія»
- **Aggregation pipeline** — оберіть у полі «Дія»
- **Список колекцій** — оберіть у полі «Дія»
- **Bulk операції** — оберіть у полі «Дія»
Коли яку дію обрати
Знайти документи — filter + projection + sort + limit; результат — масив у змінній.
Знайти один — findOne → _first.
Вставити / Оновити / Видалити — filter обов'язковий для delete/update (не порожній).
Aggregation pipeline — аналітика, $match, $group; ліміт стадій у executor.
Bulk операції — пакет insertOne/updateOne/deleteOne в одному блоці.
Унікальні значення (distinct) — список значень поля за filter.
Змінні після блоку
- resultVariable — JSON-масив рядків або документів (якщо задано в блоці)
- resultVariable_count — кількість записів
- resultVariable_first — перший рядок/документ (зручно для find_one)
- db_last_error — текст помилки на гілці «Помилка»
Приклад сценарію
Квіз завершено — insert_one у колекцію quiz_results (user_id, score, answers) → aggregate для рейтингу топ-5 → повідомлення з місцем у рейтингу.