Все ноды/Data/Database
БД: найти один
Первый документ, соответствующий фильтру (или null).
Тип в графе: db_find_one
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
Запускается сразу
Как применять
Берите эту ноду, когда документ ожидается один: карточка клиента по user_id, заказ по номеру,
настройка по ключу. Она возвращает готовый объект, а не массив, — дальше по графу не нужен ни цикл,
ни обращение по индексу. Если подходящих документов много и важно, какой именно вы получите,
берите db_find с сортировкой и лимитом 1: здесь сортировки нет.
Как это работает
Порт Фильтр приносит и запуск, и сам фильтр; объект с ребра заменяет фильтр из настроек, пустой
триггер оставляет настроенный. Поля Фильтр и Проекция — JSON-редакторы: {{ … }} в них не
раскрывается, динамический фильтр собирают нодой template (JSON-объект строкой)
или code_javascript (возвращает объект) и подают на порт.
На выходе два поля: doc — сам документ или null, и found — нашёлся ли он. Отсутствие документа
это успешный запуск, а не ошибка: ветку «нет такого» рисуют через if по
{{ nodes.<id>.output.found }}.
Частые ошибки
- Ждут ошибку, когда документа нет. Нода отработает успешно с
found: false; если ниже по графу нет проверки, дальше поедетnullи упадёт уже другая нода — в неожиданном месте. - Читают поля до проверки
found. Сначала развилка поfound, потом{{ nodes.<id>.output.doc.<поле> }}. - «Первый» понимают как «новейший». Порядок документов не задан — это тот, в котором их вернуло
хранилище. Нужен свежайший — db_find, сортировка
[["created_at", -1]], лимит 1. - Фильтр подходит нескольким документам. Вы получите один из них, и на следующем запуске это может быть другой. Фильтруйте по полю, которое действительно уникально.
- Смешанная проекция. Одновременно включать (
1) и исключать (0) поля нельзя — запрос отвергается. При включающей проекции_idприходит всегда.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Filterinput | Исполнение + данныеexecute_data | — | Run trigger and dynamic payload (overrides static config). The payload must be an object — a value of any other shape fails the node instead of being ignored. |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Resultoutput | Исполнение + данныеexecute_data | object |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Коллекцияcollection_id | string | "" | ID коллекции |
Фильтрfilter | object | — | |
Проекцияprojection | object | — |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.