Meteor - 仅发布集合的计数

2023-12-30

是否可以只向用户发布集合的计数?我想在主页上显示总计数,但不将所有数据传递给用户。这是我尝试过的,但它不起作用:

Meteor.publish('task-count', function () {
    return Tasks.find().count();
});

this.route('home', { 
    path: '/',
    waitOn: function () {
        return Meteor.subscribe('task-count');
    }
});

当我尝试这个时,我得到了无尽的加载动画。


Meteor.publish函数应该返回游标,但在这里您直接返回Number这是您的文档总数Tasks收藏。

如果您想以正确的方式执行此操作,那么在 Meteor 中计算文档数量是一项比看起来更困难的任务:使用既优雅又有效的解决方案。

套餐ros:发布计数 https://atmospherejs.com/ros/publish-counts(一个叉子tmeaday:发布计数 https://atmospherejs.com/tmeasday/publish-counts) 使用fastCount option.

你可以这样使用它:

// server-side publish (small collection)
Meteor.publish("tasks-count",function(){
  Counts.publish(this,"tasks-count",Tasks.find());
});

// server-side publish (large collection)
Meteor.publish("tasks-count",function(){
  Counts.publish(this,"tasks-count",Tasks.find(), {fastCount: true});
});

// client-side use
Template.myTemplate.helpers({
  tasksCount:function(){
    return Counts.get("tasks-count");
  }
});

您将获得客户端反应计数以及服务器端相当高性能的实现。

这个问题在(付费)防弹流星课程中讨论过,推荐阅读:https://bulletproofmeteor.com/ https://bulletproofmeteor.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Meteor - 仅发布集合的计数 的相关文章

  • 一个空的 JavaScript 对象有多少内存?

    选项A myobj a a a1 a1 a2 a2 a2a a2a a2b a2b a3 a3 a3a a3a a3a1 a3a1 a3a2 a3a2 b b vs 选项B myobj a a1 a1 a2 a2a a2a a2b a2b
  • 如何在 AngularJS 中使用 $timeout 运行带有参数的函数?

    我的 AngularJS 控制器中有这个函数 看起来像这样 polling interval 1000 var poll function Execution code timeout poll polling interval poll
  • Object.assign() - 奇怪的行为需要解释

    我有这个代码 function margeOptions options passedOptions options Object assign options passedOptions let passedOpts a true let
  • RequireJS 不遵循设置了 baseUrl 的 data-main 的相对路径

    使用 requireJS 我尝试为我的数据主指定一个与 baseUrl 不同的路径 看来 requireJS 会忽略我在文件名之前输入的任何内容 并始终在 baseUrl 文件夹中查找该文件 我有以下文件夹结构 index html scr
  • Ember.js 数组作为模型的属性

    干杯 我有一些模型 它的一个属性是一个数组 但由于某些原因 我在服务器上使用 mongoDB 并且它是嵌入式模型和 ember data 的问题 我不能做这样的事情 App Foo DS Model extend numbers DS ha
  • 在 Javascript 中,使用 var foo = function foo(i) { ... } 的动机或优点是什么?

    我在答案中看到 在Javascript中 为什么要写 var QueryStringToHash function QueryStringToHash query https stackoverflow com questions 3233
  • Angular 7 Guard 重定向仅适用于双击

    问题是我已经实现了一个 Guard 旨在处理特定的目录 如果当前用户名的角色等于 2 它应该返回 true 如果没有 那么它不应该重定向 这是我的 app routing module ts 文件 问题出在 userlist 路径中 我们是
  • 使用 getElementById 在 javascript 中使用正则表达式进行 Html 表单验证?

    我想使用正则表达式验证 html 表单的示例模式 AAA 111 2222 aa 1234 目前 我的代码要么为所有输入返回 正确 要么为所有输入返回 不正确 并且我无法弄清楚我的问题出在哪里 var x document getEleme
  • 如何正确关闭 Node.js Express 服务器?

    我需要在收到回调后关闭服务器 auth github callback网址 与平常一样HTTP API http nodejs org docs latest api http html关闭 服务器目前支持server close call
  • Javascript 访问 Disqus 评论文本框?

    我正在开发一个浏览器扩展 它应该允许我访问文本框中的评论 帖子 现在很多网站都使用 Disqus 作为评论方式 但在输入文本时我无法找到访问 Disqus 评论框的方法 Disqus API 也没有透露太多信息 有人知道访问它的方法吗 解决
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • Google Maps JS Api - b.get 不是函数错误(isLocationOnEdge)

    我想检查我的路线上是否有标记 所以我尝试使用 isLocationOnEdge 但收到 TypeError b get 不是函数 错误 这是我的代码 我尝试了几次更改但无法解决问题 var directionsDisplay new goo
  • 检测 JavaScript 中的焦点丢失

    我希望能够检测 JavaScript 中任意元素何时失去焦点 因此我可以构建一个类似于 jEdit 的内联编辑工具 我不能依赖 jQuery 来实现这个库 所以我需要一个本机方法来完成它 我查看了 onblur 这似乎是正确的事情 但 MD
  • jQuery 面板滑块通过单击按钮打开但不会关闭

    我的页面上有一个按钮 可以使用 jquery 和 Modernizr 框架打开右侧面板 按钮位于屏幕最右侧 单击时 它会向左滑动并打开打开的面板 问题是 再次单击时它不会滑回到原来的位置 HTML div class cd panel fr
  • Node.js - Async.js:并行执行如何工作?

    我想知道 async js 中并行执行是如何工作的 async require async async parallel function callback for var i 0 i lt 1000000000 i Do nothing
  • NodeJS 中的缩进多行日志记录

    我要打印JSON stringify d 反对控制台 将上下文作为 Mocha 测试套件输出的一部分 当测试缩进时 我希望对象日志行向右缩进足够远 例如 3 4 个制表符空格 以便它们可以识别地位于右侧describe group 我怎样才
  • 使用重复模式捕获正则表达式

    我试图捕获字符串的所有部分 但我似乎无法正确处理 该字符串具有以下结构 1 22 33 中间有运算符的数字 可以有任意数量的术语 我想要的是 1 22 33 1 22 33 但我得到 1 22 33 22 33 我尝试过各种正则表达式 这是
  • JavaScript 比较中应使用哪个等于运算符(== 与 ===)?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我在用着JSLint http en wikipedia org wiki JSLint
  • 在64位环境中加载32位进程

    我有以下几个问题 CHM 是 编译的 HTML 文件 我的 CHM 文件有一个启动 32 位应用程序的链接 CHM 文件是用 Javascript 编码的 这在 32 位操作系统环境中运行良好 但这在 64 位操作系统环境中不起作用 原因是
  • 如何制作饼图聚合数据源?

    Using 适用于 ASP NET MVC 的 Kendo UI 完整版 http www kendoui com 版本 2013 3 1119 2013年11月20日 如果我有这段代码 status chart kendoChart da

随机推荐

  • nf_conntrack_helper_register返回错误

    在内核中 如果我想重新启动我的 conntrack 寄存器 nf conntrack helper unregister sip i j redefinition of the sip i j parameters nf conntrack
  • 递归函数接受方案中的列表

    我是计划新手 这是我的第一个函数式语言 递归地实现几乎所有事情对我来说似乎都很尴尬 尽管如此 能够实现具有单个整数输入的阶乘和斐波那契问题的函数 但是 当您的函数有列表输入时该怎么办 假设这个练习 功能 ret10 提取并以列表形式返回所有
  • 如何从 MacOS 的照片库获取所有 PHAsset

    我想使用以下命令解析 MacOS 照片库中的所有图像PHAsset https developer apple com documentation photos phasset language objc 然而 我发现的所有示例仅适用于 i
  • 如何使用 jquery $.get() 发送参数

    我正在尝试执行 jquery GET 并且我想发送一个参数 这是我的功能 function var availableProductNames get manageproducts do option 1 function data ava
  • 如何在 Java 中生成相当于 Python 示例的 HMAC?

    我正在考虑实现一个应用程序Twitter 通过 Oauth 授权 http apiwiki twitter com Authentication在爪哇 第一步是获取请求令牌 http apiwiki twitter com Twitter
  • 比较 EL 中的字符串[重复]

    这个问题在这里已经有答案了 我向 JSP 提供一个 User 对象 并希望将用户的属性与给定的字符串进行比较 我现在正在做的事情如下
  • Ruby,混合实例变量和方法

    我有两个文件 一个带有模块ToMix module ToMix module var modulevar def self mix function puts mix function SELF module var end def mix
  • 尝试解密时出现错误密钥 CryptographicException

    我使用命令创建以下文件 makecert n CN TEST CER sv Test pvk r sky echange pe test cer pvk2pfx pvk Eltapk pvk spc test cer pfx test pf
  • 对浮点数进行四舍五入 bash

    好的 所以我正在尝试对输入进行四舍五入17 92857 这样它就可以得到输入17 929在bash中 到目前为止我的代码是 read input echo scale 3 input bc l 但是 当我使用它时 它不会四舍五入 而是返回1
  • SELECT 字段列表中的 CONCAT() 函数

    我正在使用 CodeIgniter 的活动记录功能 但无法选择我感兴趣的数据 我想要被选中的是 CONCAT t field1 t field2 AS finalValue 所以我添加这个 this gt db gt select CONC
  • 使用 Gson 序列化的 RealmObjects 的组合继承

    出于各种原因 我正在考虑将 Realm 作为数据库解决方案 但目前最大的问题是 Nougat 中抛出的 TransactionTooLargeException 已经做到了这一点 所以我必须基于 ActiveAndroid 重新设计我当前的
  • 如何将聚合与列名列表一起使用

    你如何抽象aggregate在函数中通过传递条件和值列表来总结 This works fine x lt data frame cond1 sample letters 1 3 500 replace TRUE cond2 sample L
  • 关于[NSNull null]的一些困惑,nil [重复]

    这个问题在这里已经有答案了 可能的重复 NSNull null 和 nil 有什么区别 https stackoverflow com questions 836601 whats the difference between nsnull
  • str_replace() 与关联数组

    您可以将数组与 str replace 一起使用 array from array from1 from2 array to array to1 to2 text str replace array from array to text 但
  • 无法在 Android 上的 WebView 中下载 Blob 文件类型

    我想从 webview 下载文件 但每次都会出错 只能下载 HTTP HTTPS URI blob https https 我在我的代码中使用这个 ngOnInit let webview WebView this webViewRef n
  • CPython 中的模块加载是如何工作的?

    CPython 中的模块加载在幕后是如何工作的 特别是 用 C 语言编写的扩展的动态加载是如何工作的 我可以在哪里了解这方面的信息 我发现源代码本身相当令人难以承受 我可以看到那个值得信赖的人dlopen 和朋友在支持它的系统上使用 但没有
  • $string.Substring 索引/长度异常

    我正在执行以下操作来尝试从字符串中获取最后一个字符 在本例中为 0 string HKEY LOCAL MACHINE SYSTEM CurrentControlSet services hid Parameters 0 parameter
  • sprintf_s 的缓冲区太小

    以下代码会导致错误并终止我的应用程序 这是有道理的 因为缓冲区只有 10 个字节长 而文本有 22 个字节长 缓冲区溢出 char buffer 10 int length sprintf s buffer 10 1234567890 12
  • VS Code 可以使用外部程序打开文件吗?

    有没有办法设置 VS Code 以便在嵌入式文件资源管理器中双击 docx 文件会导致在 Microsoft Word 中打开该文件 我已经习惯了 PyCharm 但已经迁移到 VS Code 我习惯于创建 Word 文档文件 docx 然
  • Meteor - 仅发布集合的计数

    是否可以只向用户发布集合的计数 我想在主页上显示总计数 但不将所有数据传递给用户 这是我尝试过的 但它不起作用 Meteor publish task count function return Tasks find count this