我在服务器端为一个集合介绍了一个发布者,其代码如下:
Meteor.publish('posts', () => Posts.find());
现在我想在客户端订阅该集合。作为一个例子,我想在数据发生变化时将集合中的条目数打印到控制台:
ngOnInit() {
Meteor.subscribe('posts', () => {
console.log(Posts.find().count());
});
}
结果让我感到困惑:
Observable {_isScalar: false, source: ObservableCursor, operator: CountOperator}
我似乎误解了整个概念。实现这个功能的正确方法是什么?
答案 0 :(得分:1)
我认为你遗漏了一些常见的代码,我通常把它放在/ common
中model.js:
// Collections that exist on the server database
Posts = new Mongo.Collection("posts");
这样做的效果是使帖子'客户端和服务器代码中的变量。
组件代码:
Meteor.subscribe('posts', () => []);
this.helpers({
posts: () => Posts.find(),
答案 1 :(得分:0)
在客户端,我创建了一个count
函数:
myCount(p:any) {
return p.fetch().length;
}
并在我的html
页面中添加了该功能:
{{ myCount(posts) }}