问题标签 [changestream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
151 浏览

mongodb - `insert`s 的 MongoDB `watch` 不起作用

我已经观看了一个使用以下内容作为对象watch功能过滤器的集合com.mongodb.client.internal.MongoDatabaseImpl

如您所见,我已经查看了所有操作类型的集合,但观察者仅获取update操作的更改,没有其他内容。

谁能指出我正确的方向?

此外,执行插入会导致观察者线程挂起,并且还会阻止对集合的进一步观察,此时我必须重置我的 REPL 状态以使更新手表工作。

仅供参考,org.mongodb/mongo-java-driver我使用的版本是"3.12.7"

0 投票
1 回答
472 浏览

connection-pooling - Reactive Mongo:已超过 500 的最大操作数 (maxQueueWaitSize)

我正在使用 ReactiveMongoTemplate MongoDB ChangeStream 来监听 MongoDB 集合的更新,执行一些查询,并将文档持久保存到另一个集合。虽然它在本地运行良好,但在部署到体积很大的 UAT 后开始出现以下错误:

有什么方法可以解决这个问题?

我在 application.yml 文件中有以下内容

这就是简化的变更流媒体的样子:

我知道我可能需要添加一些连接池才能处理多个连接?但是如何使用 Reactive MongoDB 进行配置呢?我是反应式编程的新手。任何指针都会非常有帮助。

0 投票
1 回答
310 浏览

mongodb - 如何在mongodb java sdk中的部署级别更改流中过滤集合

我正在尝试使用 MongoDB java SDK 在集合名称上使用管道过滤器设置部署级别更改流。这是代码片段。

但是这个查询不匹配任何文档。以下管道文档的变体也不起作用。

令人惊讶的是,管道适用于变更流文档的其他领域。例如,这有效:

我不确定为什么会这样。我将不胜感激在这方面的任何帮助。

0 投票
1 回答
60 浏览

node.js - Mongo changeStream 用于查找查询

我想对 mongo 集合进行查询,当集合更改时,我想再次运行查询。但是为了优化它,我不想在每次集合更改时运行查询,只有在匹配查询的文档发生更改时才运行查询。我有以下代码:

在第一次运行时,它会获取文档并执行sendData,但是当插入新文档时,不会触发该事件。当我在collection.watch()没有争论的情况下获胜时,它会起作用。

问题出在哪里?谢谢。

编辑:我希望能够重用queryfor.find()和 for .watch()

0 投票
1 回答
1618 浏览

node.js - MongoDB ChangeStream 性能

是否可以使用更改流进行广泛使用?我想观看许多带有各种参数的文档的集合。这个想法是允许多个用户观看他们感兴趣的数据。因此,不仅要显示一些实时更新,例如来自单个集合或其他的一些股票数据,而且要允许现代 Web 应用程序是实时的-时间。我偶然发现了一些讨论,例如这个建议,该功能不能用于此目的。

所以想象一下实现众所周知的社交网络。每个用户都希望获得关于 (1) 通知、(2) 在线好友、(3) 好友请求、(4) 新闻源、(5) 对新闻源帖子的评论(可能每个帖子都有一个评论?)的实时数据。这使得每个用户至少有 5 个打开的更改流。例如,如果一项服务连接了 10000 个用户,它会产生 50000 个活动更改流。

这种机制准备好承受这样的负载了吗?如果我理解了讨论(和其他一些),那么每个更改流观察者都会创建一个连接。拥有数万个连接可以吗?这似乎不是一个好的设计。似乎最好在应用程序服务器上观察每个集合并进行过滤,但这更多是数据库服务器的工作。

有没有办法用 mongo db 处理这种负载?

0 投票
0 回答
407 浏览

node.js - 如何在 Node.js 中使用 MongoDB 更改流来填充新集合

我想使用 MongoDB 更改流来监视要填充的第一个集合的插入/更新,当满足条件时,另一个具有从监视集合中提取的计算值的集合。
按照 Mongodb教程,我得出以下结果:

实际上它似乎有效,但我曾经使用event-streamMongoDBpipe将流更改为另一个流,在该流中我使用立即调用的匿名异步函数来填充第二个集合。

我想知道这种方法是否正确?如何使用转换流?

0 投票
1 回答
312 浏览

node.js - 无法在多个集合 mongodb 上创建监视

我正在尝试使用 mongoose 构造在 MongoDB 中的数据库集合上创建一个手表,


我的整个功能如下

我面临的问题是,当我循环此函数调用以在多个集合上创建手表时,只有在创建的最新集合上的手表实际上有效,并且调用了回调,但在其他集合上没有。我的调用函数如下

提前致谢..:)

0 投票
2 回答
980 浏览

aws-documentdb - 为 Amazon DocumentDB 启用更改流

我知道我们可以使用 Mongo shell 来启用(或禁用)Amazon Document DB 的更改流。是否可以从 AWS 控制台或 MongoDB 驱动程序启用更改流?

0 投票
1 回答
85 浏览

project-reactor - Reactor Flux 抛出非法ArgumentException - 怀疑是由于 bufferTimeout

我有一个 spring 应用程序,它构建了一个响应式管道,如下所示:

但是,我看到我的应用程序中间抛出以下错误 -

我无法确定出了什么问题,以及为什么流以这个错误终止。任何帮助将不胜感激。

在我添加“bufferTimeout”以添加批处理功能后,应用程序开始抛出此错误。在此之前,我从未遇到过这个异常。也不确定如何复制该问题,因为它不是在本地或 UAT 中发生,而是仅在应用程序的生产环境中发生。任何线索都会有所帮助。

谢谢!

0 投票
1 回答
90 浏览

mongodb - MongoDB 变更流

我对 MongoDB ChangeStream(版本 3.6)有一些问题:

  • 一个。当我在时间 T 启动 MongoDB ChangeStream 时,MongoDB 将在哪个时间点返回更改?
  • 湾。同一个集合的两个 ChangeStream 订阅是否会发生冲突?
  • C。我可以在 ChangeStream A 上使用 resumeToken 到 ChangStream B,以便订阅 Document 更改的相同光标吗?