Mongo Change Stream为我提供了所有收藏的更改



阅读有关mongoDB变化流的阅读。猜猜可以将其用于将流传输到"我的组件"的集合中的所有更改。但这可能会引入一个重要的开销。实际上,它只对一小部分变化感兴趣。我读到您可以过滤(使用$匹配(,但是如何工作

  • a(是传播到mongodb实例的过滤
  • b(或过滤器只是我身边的"本地"便利过滤器(我仍然可以通过网络上的所有更改(

只是寻找简单的a(或b(答案。但是一些其他评论不会受到伤害。

P.S。我从集合中感兴趣的更改动态变化,因此确保所有"有趣"文档都进入专用集合,然后只是从中流进行更改,这将不是一个解决方案。但是,如果它不太昂贵,它可以创建/删除每一个" aenfect"时我感兴趣时会创建/删除流程观察。一个已建立的流式观察不一定必须支持更改其过滤器。

只是寻找简单的a(或b(答案。但是一些其他评论不会受到伤害。

mongoDB变更流是作为聚合管道阶段实现的:$changeStream。这就是为什么您还可以通过串制不同管道阶段来利用聚合管道的功能。$match

您可能知道,聚合管线是执行服务器端的。哪个回答您的问题;过滤器$match在服务器上执行。

请注意,Change流返回的所有事件至少都致力于大多数复制品集节点(耐用(。这意味着,聚合仅在您打开更改流的节点上执行。

我感兴趣的更改动态变化,

根据您的用例,我建议根据不会动态变化的字段过滤。

您可能会发现使用更改流来跟上数据有用。

最新更新