Мониторинг обновлений в коллекции MongoDB (перехват обновления на слое БД) - PullRequest
1 голос
/ 16 января 2020

Одна из моих коллекций обновляется различными микро-сервисами. И обновления делаются либо монахом , либо мон goose libs.

Так что я хотел следить за обновлениями, сделанными для этой коллекции. Кроме того, у меня нет доступа к этим службам, поэтому я не могу добавить хуки после обновления для каждой службы, но у меня есть доступ к базе данных, где я могу делать все, что захочу. Я открыт для использования любых ORM или библиотек.

Так что в основном - если какой-либо запрос на обновление запускается какой-либо из служб, мой код мониторинга (ловушка или что-то еще) должен быть запущен.

Спасибо.

1 Ответ

0 голосов
/ 16 января 2020

Вы можете использовать mongodb Change Streams для прослушивания изменений данных, ознакомьтесь с примером приложения https://gist.github.com/riodw/74a839ab6964bceda8ff799d3ad33442

Mongodb docs https://docs.mongodb.com/v3.6/changeStreams/#change -stream

Вы можете попробовать изменить поток с mon goose: https://mongoosejs.com/docs/models.html#change -stream

Пример, который я только что попробовал, и он работает:

let Congress = require("../models/congress");
// change stream
Congress.watch().
on('change', data => console.log('change stream',data));
//
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...