Блоки · Бази даних

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 → повідомлення з місцем у рейтингу.