Я использую Node.js для некоторой работы проекта, и я хотел бы контролировать свою базу данных монго (набор) для изменений, в основном запустить событие, если что-то добавляется.
Кто-либо знает, возможно ли это? Я использую node-mongodb-native драйверы.
Если бы это не, я также хотел бы любые доступные указатели при продвижении данных из сервера (выполненный с node
) к клиентскому браузеру.
Вопрос в том, добавляются ли все данные в вашу базу данных через приложение node.js. Если это так, вы можете использовать класс EventEmitter в node.js для запуска события ( http://nodejs.org/api.html#eventemitter-14 ).
Если база данных заполнена каким-либо другим приложением, все становится труднее. В этом случае вам понадобится что-то вроде триггера базы данных, который, AFAIK, еще не доступен в MongoDB.
Отправка событий клиенту (также известному как Comet) станет возможной после того, как API веб-сокетов HTML 5 войдет во все основные браузеры.
Пока что вы можете только попытаться имитировать это поведение, используя такие методы, как (долгосрочный) опрос AJAX, постоянный фрейм и т. Д., Но у каждого из них есть свои слабые стороны.
Я бы включил репликацию в вашем mongodb. Есть реплика? база данных, содержащая список изменений, аналогичный журналу репликации mysql. Вы можете следить за этим.
-даниэль