javascript - 订阅现有集合的计数

标签 javascript mongodb meteor

我需要跟踪包含大量不断更新的文档的集合的计数器。 (想想一个巨大的日志列表)。我不想想要做的是让服务器向我发送 250k 文档的列表。我只是想看到计数器上升。

我发现了一个非常相似的question here ,我还研究了 .observeChanges()在文档中,但再一次,似乎 .observe() 以及 .observeChanges() 实际上在跟踪添加、更改或删除的内容之前返回整个集合。

在上面的示例中,“added”函数将在每个返回的文档中触发一次以增加计数器。

这对于一个大集合来说是 Not Acceptable - 我只想跟踪计数的变化,因为我知道 .count() 绕过了整个文档集的获取。前一个示例仅涉及与房间相关的文档的计数,这不是我想要的(或者就此而言能够复制并开始工作)

我一定错过了一些简单的事情,我已经被难住了好几个小时。

非常感谢任何反馈。

最佳答案

您可以使用 meteor-streams 来完成此操作Arunoda 的智能包。它允许您在不需要数据库的情况下进行发布/订阅,因此您可以发送的一件事是例如 react 数。

或者,这稍微有点老套,但如果您有许多需要计算的东西或类似的东西,您可以有一个单独的“统计”集合(随意命名)以及包含该计数的文档.

关于javascript - 订阅现有集合的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207692/

相关文章:

javascript - 将新对象插入到特定数组索引中

MongoDB 与 Redis

javascript - JS,如何让一个页面只作为iframe加载到另一个页面中?

javascript - 文件上传不适用于 ng-click angularjs

javascript - 如何使用 jquery 增加复选框的值?

mongodb - 有没有办法防止 MongoDB 向集合名称添加复数形式?

javascript - 我可以动态更新 Google 表单列表框的内容吗

javascript - Meteor 单点登录 oAuth 弹出窗口是空白的! (跨源帧错误)

html - 如何使用 html 文本将图像作为绝对位置发送到电子邮件

javascript - Bootstrap 导航栏在 Chrome 移动版上无法正常工作