Как мне интегрировать брокера MQTT с mongoDB?
Я публикую координаты GPS от клиента к брокеру и хотел бы сохранить их в брокере MQTT с mongoDB,
Был бы признателен, если бы некоторые указатели были разделены для одного и того же
Как мне интегрировать брокера MQTT с mongoDB?
Я публикую координаты GPS от клиента к брокеру и хотел бы сохранить их в брокере MQTT с mongoDB,
Был бы признателен, если бы некоторые указатели были разделены для одного и того же
Я искал вокруг и не нашел подходящего решения для себя, поэтому я создал его: https://github.com/izmailoff/mqtt-mongo.
Все подробности см. в README. По сути, это автономный сервис, который подключается к брокеру MQTT и MongoDB и подписывается на интересующие вас темы. Вы можете выбрать коллекцию для каждой темы в конфигурации.
Целью разработки является отказоустойчивая, легкая и быстрая служба, которую вы также можете настроить с помощью кода на Java/Scala или любом языке JVM, который поддерживает такую интеграцию.
Вероятно, самым простым способом было бы использовать Node-Red (http://nodered.org).
Если полезная нагрузка MQTT представляет собой объект json уже в правильном формате, то это сделает один входной узел MQTT, связанный с узлом mongodb.
Если вам нужно изменить полезную нагрузку перед ее вставкой, вы можете включить функциональный узел для ее переназначения.
Если вы хотите, чтобы ваш брокер надежно сохранял сообщение непосредственно в базе данных, вы можете использовать HiveMQ и написать подключаемый модуль MongoDB. Концепция описана в этой записи блога.
Другой идеей было бы использовать подписчика с подстановочными знаками, который получает все сообщения и сохраняет их в MongoDB. Это не будет прямой интеграцией, но сработает, если вы не хотите расширяться.
Это старый вопрос, но мне нужно было сделать что-то подобное. У меня есть подписчик, который подписывается на темы, которые мне интересно сохранить в монго. Он просто сохраняет сообщения в БД. Я еще не рассматривал проблему масштабирования. Но в моей ситуации я могу разделить эти сообщения по темам.