Спершу потрібно встановити пакет в середовищі NodeRed. Для цього в меню обираємо "Manage Palette". Далі обираємо "install", в пошуку пишемо назву потрібного нам пакету "node-red-contrib-re-postgres"
та встановлюємо його.
Після цього у нас з'явиться вузол з назвою postgres
.
Переміщуємо вузол postgres на робочий простір, двічі натискаємо на вузол та редагуємо його.
У вузлі postgres потрібно внести інформацію про базу даних, яку ми створювали. Про створення бази даних PostgreSQL читайте тут.
Host- Host
Port- залишаємо без змін
Database- Name
Username- User Name
Password- Password
Name - назва конфігурації, тут можна писати будь-яку.
Після заповнення натисніть кнопку Add.
Обираємо ім'я нашої конфігурації ( Name з попереднього скріна ). Обираємо Receive query output
та можемо заповнити поле Name
- ім'я , під який буде відображено вузол на робочій поверхні.
Натискаємо Deploy
, щоб зберегти налаштування вузла.
Створення таблиці.
Для цього потрібно 5 вузлів:
- іnject
- function
- postgres
- http response
- debug
В функції вказуємо назву таблиці, поля та тип даних
.
На прикладі створена таблиця people
, яка має 4 поля з такими назвами: user_id, name, age та country. Де:
user_id - первинний ключ з типом INTEGER,
name - ім'я людини з типом TEXT,
age - вік з типом INTEGER
country - країна з типом TEXT.
msg.payload = `CREATE TABLE users(
user_id serial PRIMARY KEY,
name TEXT,
age INTEGER,
country TEXT
)`
return msg;
Для того, щоб зрозуміти результат виконання операції, у вузлі debug
обираємо complete msg object
Натискаємо Deploy
і після цього натискаємо на Inject
.
Дивимося результат виконання , який покаже debug.
POST запит.
Для того, щоб додати дані у таблицю, потрібно створити ендпоінт. Використовуємо такі вузли:
- http in
- function
- postgres
- http response
- debug
У вузлі http in обираємо метод POST
та придумаємо адресу по якій можна буде звернутись до ендпоінту з UI сервісу. Як це зробити читайте тут.
У вузлі функції вказуємо, у яку таблицю робимо запис, перераховуємо поля та відповідні значення. Послідовність полів та їх значень важлива!
msg.payload = `INSERT INTO users(name, age, country)
VALUES (
'${msg.payload.name}',
'${msg.payload.age}',
'${msg.payload.counrty}')
returning *
`
return msg;
Результат виконання , який показує debug:
Get запит.
Для того, щоб отримати дані з створеної таблиці потрібно 5 вузлів:
- http in
- function
- postgres
- http response
- debug
У вузлі http in обираємо метод GET
.
У вузлі функції вказуємо, які дані ми хочемо повертути. Щоб повернути всі значення - SELECT *
, щоб повернути значення певних полів - SELECT FIELD_NAME1, FIELD_NAME2
. На першому прикладі повернуться всі дані, на другому тільки значення user_id, name та country.
`SELECT * FROM users `
Результат:
`SELECT user_id, name, country FROM users `
Результат виконання:
PUT запит.
Для того, щоб змінити дані у створеній таблиці потрібно 5 вузлів: - http in
- function
- postgres
- http response
-
debug
У вузлі http in обираємо метод
PUT
.
У вузлі функції вказуємо назву таблиці
, які поля потрібно оновити, нові значення та де саме потрібно зробити оновлення. На прикладі у таблиці people оновлюємо поля name, age та country. Об'єкт, який потрібно оновити, вказуємо по user_id
.
msg.payload = `UPDATE users
SET name = '${msg.payload.name}',
age = '${msg.payload.age}',
country = '${msg.payload.country}'
WHERE user_id = ${msg.payload.user_id};
returning *`
return msg;
Результат виконання:
DELETE запит.
Для того, щоб видалити дані у створеній таблиці потрібно 5 вузлів:
- http in
- function
- postgres
- http response
-
debug
У вузлі http in обираємо метод
DELETE
.
У вузлі функції вказуємо назву таблиці та параметр
, по якому потрібно обрати об'єкт для видалення. На прикладі у таблиці people видаляємо об'єкт по значенню user_id
.
msg.payload = `DELETE FROM users
WHERE user_id = ${msg.payload.user_id}
RETURNING *;`
return msg;
Результат виконання:
Top comments (0)