更改流 mongodb 重复项

Change streams mongodb duplications

我正在尝试动态创建变更流。我想知道是否有办法避免创建监视同一目标的更改流?

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”的更改流是否已经存在,以避免有相同的观察者?

谢谢

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

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