gpt4 book ai didi

java - MongoDB 变更流

转载 作者:行者123 更新时间:2023-12-01 23:59:37 25 4
gpt4 key购买 nike

我已经开始处理 MongoDB 更改流,并设置了一些流来监视大约 30 个数据库的更改。我只需要观看两个集合,我想知道是否可以编写一些管道或过滤器来观看具有所提供的名称或部分名称的集合。例如,我从 ChangeStreamDocument 的命名空间文档中获取集合名称,并且我想在所有数据库上观看等于“玩家”的集合。我正在观看整个服务器的更改,但现在我收到以下通知每个被更改的集合,我不想要这样,只想要特定的集合。

 final ChangeStreamPublisher<Document> publisher = client.watch(Arrays.asList(
Aggregates.match(
Filters.in("operationType", Arrays.asList("insert", "update", "delete"))
))).fullDocument(FullDocument.UPDATE_LOOKUP);

我在想是否可以在那里放置一些过滤器,使流仅观看具有相应名称的集合。

文档:https://docs.mongodb.com/manual/changeStreams/

最佳答案

根据文档,您可以设置对部署、数据库或集合的监视。因此,也许您可​​以监视名为“玩家”的集合。另一种选择是在 Aggregates.Match 中设置额外的过滤器。每个变更流事件都会返回一个名为“ns”的命名空间对象,其中包含参与更改的数据库和集合名称。

关于java - MongoDB 变更流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58185040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com