NodeREDGuidUKR

ДОВІДНИК З NODE-RED українською мовою

До збірника задач

Збереження повідомлень в No-SQL базу даних MongoDB хмарного сервісу Atlas

Автор: Олександр Пупена

Завдання

Написати фрагмент програми на Node-RED, який має записувати корисне навантаження повідомлення в MongoDB (Вступну інформацію про MongoDB можна почитати за цим посиланням) хмарного сервісу Atlas.

Рішення

Реєстрація та конфігурування хмарного сервісу Atlas

Спочатку необхідно зареєструватися на хмарному сервісі Atlas. Для цього можна скористатися безкоштовною обмеженою ліценізією. Послідовність реєстрації можна подивитися за цим посиланням.

Далі необхідно дізнатися адресу доступу. Для цього натиснути кнопку Connect біля імені кластеру.

image-20230505163236137

Можна вибрати спосіб підключення Compass tool та скопіювати в буфер обміну рядок підключення.

image-20230505163935533

У даному випадку він матиме шаблон

mongodb+srv://<username>:<password>@cluster0.nhnnb1t.mongodb.net

Створення фрагменту в Node-RED

Для підключення в Node-RED можна скористатися бібліотекою node-red-node-mongodb опис якої можна подивитися за цим посиланням

Фрагмент програми написаний нижче.

image-20230506094345212

Налаштування конфігураційного вузла наступні властивості:

image-20230506090702246

В правилах вузла change використовується вираз JSONata, який формує payload:

{"_id": $toMillis ($now()), "temper": $random(), "text": "Довільний текст"}

У даному виразі явно вказується _id, який є унікальним ідентифікатором документу в колекції. Якщо його не задавати, MongoDB буде формувати його самостійно. У налаштуваннях вузла mongodb out вказується що записується тільки payload а не все повідомлення цілком. Операція save записує новий документ в колекцію mymessages.

Після запуску програми, необхідно зробити кілька ініціювань inject, помилок ніяких не повинно бути а у вікні debug повинні з’явитися повідомлення.

Перевірка в сервісі Atlas

Для перевірки у сервісі Atlas, треба зайти у відповідний кластер і колекцію.

image-20230506093957316