我已经收藏了
var Words = new Meteor.Collection("words");
Run Code Online (Sandbox Code Playgroud)
并发表它:
Meteor.publish("words", function() {
return Words.find();
});
Run Code Online (Sandbox Code Playgroud)
这样我就可以在客户端上访问它了.问题是,这个集合会变得非常大,我只想发布它的变换.例如,假设我想发布一个名为"num words by length"的摘要,这是一个int数组,其中索引是单词的长度,item是该长度的单词数.所以
wordsByLength[5] = 12;
Run Code Online (Sandbox Code Playgroud)
表示有12个长度为5的单词.在SQL术语中,它是原始数据集上的简单GROUP BY/COUNT.我正在尝试在客户端上创建一个类似的模板
每个长度.我的问题归结为"我的表格A中有我的数据,我想发布一个转换后的版本,B".
Aks*_*hat 21
更新您可以在服务器上转换集合,如下所示:
Words = new Mongo.Collection("collection_name");
Meteor.publish("yourRecordSet", function() {
//Transform function
var transform = function(doc) {
doc.date = new Date();
return doc;
}
var self = this;
var observer = Words.find().observe({
added: function (document) {
self.added('collection_name', document._id, transform(document));
},
changed: function (newDocument, oldDocument) {
self.changed('collection_name', oldDocument._id, transform(newDocument));
},
removed: function (oldDocument) {
self.removed('collection_name', oldDocument._id);
}
});
self.onStop(function () {
observer.stop();
});
self.ready();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2487 次 |
| 最近记录: |