Meteor 流星与反应';独特的';

Meteor 流星与反应';独特的';,meteor,Meteor,假设我有一个字段为foo的集合,我想得到唯一值的计数 Collection.distinct('foo').length; 我希望在我的模板中有可用的值,例如{{fooCount} 我如何才能做到这一点,并使该数字在Meteor中具有反应性?应该是这样的: Template.yourTemplateName.helpers({ fooCount() { var foos = CollectionName.find({foo: {$exists: true

假设我有一个字段为
foo
的集合,我想得到唯一值的计数

Collection.distinct('foo').length;
我希望在我的模板中有可用的值,例如
{{fooCount}


我如何才能做到这一点,并使该数字在Meteor中具有反应性?

应该是这样的:

Template.yourTemplateName.helpers({
         fooCount() {
           var foos = CollectionName.find({foo: {$exists: true}})
                                    .map(d => d.foo);
           return _.uniq(foos).length;

         }
});
这将是被动的,因为它是使用被动数据源的模板助手。请注意,with的使用是核心流星的一部分

此外,为了好玩,您可以这样做:

Template.yourTemplateName.helpers({
             fooCount() {
               return CollectionName.find({foo: {$exists: true}})
                        .map(d => d.foo)
                        .reduce((acc, b) => _.contains(acc, b) ? 
                                              acc : acc.concat(b), []).length

             }
    });

应该是这样的:

Template.yourTemplateName.helpers({
         fooCount() {
           var foos = CollectionName.find({foo: {$exists: true}})
                                    .map(d => d.foo);
           return _.uniq(foos).length;

         }
});
这将是被动的,因为它是使用被动数据源的模板助手。请注意,with的使用是核心流星的一部分

此外,为了好玩,您可以这样做:

Template.yourTemplateName.helpers({
             fooCount() {
               return CollectionName.find({foo: {$exists: true}})
                        .map(d => d.foo)
                        .reduce((acc, b) => _.contains(acc, b) ? 
                                              acc : acc.concat(b), []).length

             }
    });

您是否已经遵循了发布文档中的扩展示例?()查找
countbyroom
。是的,上面加上一个用distinct()添加服务器端聚合的包应该可以满足您的需要。这一个被广泛使用:您已经遵循了发布文档中的扩展示例了吗?()查找
countbyroom
。是的,上面加上一个用distinct()添加服务器端聚合的包应该可以满足您的需要。这一个被广泛使用:只有在出版物发布整个收藏时才使用。如果只想在具有不同结果的字段查询上发布集合的游标,该怎么办?祝你好运。这只有在出版物发布整个藏品的情况下才行。如果只想在具有不同结果的字段查询上发布集合的游标,该怎么办?祝你好运。