我想制作一个包含几个附加字段的出版物,但我不想Collection.aggregate
在集合更改时使用和丢失我的出版物更新(所以我也不能只self.added
在其中使用)。
我计划使用Cursor.observeChanges
以实现这一目标。我有两个主要限制:
- 我不想发布所有文档字段
- 我想使用一些未发布的字段来创建新字段。例如,我有一个存储_id
item
数组的字段。item
我不想发布它,但我想发布一个item_count
字段长度为我的字段数组
方法来了:
我计划链接查找查询。我从来没有这样做过,所以我想知道是否可能。一般(简化)查询结构如下:http: //jsfiddle.net/Billybobbonnet/1cgrqouj/(我无法在此处正确显示代码)
根据Meteor 文档中的计数示例,我将查询存储在一个变量
handle
中,以便在客户端取消订阅时停止更改通知:
self.onStop(function () {
handle.stop();
});
initializing = true;
我在查询之前添加了一个标志,并将其设置为true
就在调用self.ready();
.itemCount
仅当发布已初始化时,我才使用此标志更改我的变量。所以基本上,我改变了我的switch
样子:
switch (field) {
case "item"
if (!initializing)
itemCount = raw_document.item.length;
break;
default:
}
在对我的代码进行重大更改之前,我想检查这种方法是否良好且可行。如果这是正确的方法,有人可以确认我吗?