Створення endpoint у Node Red
ВІДЕО РЕЗУЛЬТАТ після виконання всіх дій з сторінкою Gallery.
Створення цієї сторінки почнемо з створення endpoint.
Перейдемо до виконання
Додаємо три нових endpoints:
1.Отримати унікальний текст, на основі якого формувалося зображення.
Використувуємо ноди:
- http in (GET);
- function. У тілі функції пишемо:
У ноді функції додаємо бібліотеку objectid .msg.payload = ([ { $match: { "deleted": false, "collection": objectid(msg.payload.collection) } }, { $group: { _id: "$text" } }, { $project: { _id: 0, text: "$_id" } } ]) return msg
- mongodb in. Обираємо collection-gallery, operation-aggregate
- http response
2. Отримати зображення по тексту.
Використувуємо ноди:
- http in(GET);
- function. У тілі функції пишемо:
msg.payload = { text: msg.payload.text, deleted: false } return msg;
- mongodb in.
- function. У тілі функції пишемо:
const result = []; for (const image of msg.payload) { const timeDiff = new Date(image.expireTime).getTime() - new Date().getTime(); if (timeDiff > 0) { result.push(image); } } msg.payload = result; return msg;
Фільтруємо дані таким чином, щоб повернулися лише ті картинки, посилання на які ще дійсне.
- http request;
3. Видалення усіх картинок за вказаним текстом
Використувуємо ноди:
- http in(PUT)
- function. Вказумо, що треба оновити deleted на true у об'єктів з вказаним текстом.
msg.query = { text: msg.payload.text } msg.payload = { $set: { deleted: true } } return msg;
- mongodb out
- http response
No Comments