Всем привет, подскажите, делаю небольшой пет-проектик связанный с IIoT, стримлю

ивенты из MQTT через Kafka напрямую в Mongo Atlas, но у меня есть некоторые граничные значения у этих ивентов, например когда ток > 5 ампер срабатывает определенный триггер, который нужно записать в отдельную коллекцию от этих данных, подойдет ли для этого Mongo Trigger (никогда не юзал его)?

13 ответов

26 просмотров

ну, надо начать с основ - что такое триггер потом что такое ивент стрим

Oleksandr-Serdiuk Автор вопроса
Alexandrr
ну, надо начать с основ - что такое триггер потом ...

У меня в базе лежат определенные граничные значения для разных метрик, например, бак с топливом должен быть не менее чем 100 литров. MQTT шлет мне постоянным потоком данные о том сколько сейчас литров в баке, буквально каждую секунду. Все это я сразу же сохраняю в MongoDB через Kafka Вопрос в том, что я не хочу писать какой-то сервис который будет вытягивать события которые я сохранил и сравнивать их с граничными значениями, а хочу чтобы это происходило прямо во время Insert'a в DB Например, из Kafka приходит Event что PetrolTankValue = 99, а в граничных значениях у меня лежит что PetrolTankValue должен быть не менее 100, в этом случае мне нужно создать новый документ в отдельной коллекции на моменте когда событие о наполнении бака с топливом только попало в базу

Oleksandr-Serdiuk Автор вопроса
Alexandrr
ну, надо начать с основ - что такое триггер потом ...

Под триггером я подразумеваю это https://www.mongodb.com/docs/atlas/app-services/triggers/database-triggers/

Oleksandr Serdiuk
Под триггером я подразумеваю это https://www.mong...

хорошо, тогда вот это пробуй: https://www.mongodb.com/docs/manual/changeStreams/ второй вариант, на уровне языка сделать "раздачу" из сектора памяти и стримить его куда нужно и в бд

Oleksandr Serdiuk
У меня в базе лежат определенные граничные значени...

что дальше будет происходить по факту срабатывания триггера? создастся сообщение в кафку или запаись в базу или еще чтонить?

Oleksandr-Serdiuk Автор вопроса
Oleksandr-Serdiuk Автор вопроса
Alexandrr
хорошо, тогда вот это пробуй: https://www.mongodb....

Спасибо, посмотрю чем может быть полезно

Oleksandr Serdiuk
Запись в базу только и все

тогда достаточно триггеров атласовских

Nick
тогда достаточно триггеров атласовских

триггер тут не подойдёт, потому что он написал, что не хочет потом читать из бд и ещё куда-то данные отправлять из бд, а хочет ещё сразу куда-то кроме бд отправлять

Alexandrr
триггер тут не подойдёт, потому что он написал, чт...

так в базу будут факты срабатывания записываться

Oleksandr-Serdiuk Автор вопроса
Alexandrr
триггер тут не подойдёт, потому что он написал, чт...

Не совсем, я имел ввиду что не хочу читать из БД чтобы создать вот эту запись срабатывания

Oleksandr Serdiuk
Не совсем, я имел ввиду что не хочу читать из БД ч...

ааа, ну тогда да, точно триггер, жаль что они имеются только у атласа

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта