1

我正在尝试动态创建更改流。我想知道是否有办法避免创建更改流来观察同一个目标?

db.collection('Test' + ).watch().
        on('change', data => console.log(new Date(), data));

db.collection('Test' + ).watch().
        on('change', data => console.log(new Date(), data));

如果现在测试集合有一些变化,我将收到两次通知。由于我在 SQS 旁边发送通知,因此我将收到重复的消息。

有没有办法检查目标'xy'的更改流是否已经存在,以避免有相同的观察者?

谢谢

4

1 回答 1

0

变更流是一种广播机制(一个发布者(数据库),多个订阅者)。

如果您需要队列,则需要使用排队系统并将工作项排入队列,而不是将它们存储到集合中并使用更改流查看集合。

于 2020-11-27T03:47:34.503 回答