在 meteor.js 中查找文档
Finding documents in meteor.js
我希望有人能在 Meteor.js 中澄清关于订阅的这一点:
如文档中所写,find() 函数 returns 需要获取的游标,而不是数据;
假设我有一个发布功能:
Meteor.publish('pages', function() {
return Pages.find()
});
现在假设我只需要带有代码的页面:"one";在模板助手中,我可以获取该文档:
Template.mytemplate.helpers({
data: function() {
return Pages.find({code: "one"});
}
});
问题是:这样做是否正确,或者如果我只需要一份文件,最好只订阅该文件? (类似于:
Meteor.publish('page', function(code) {
return Pages.find({code: code})
});
)
我的意思是:它是否改变了 efficiency/performance 方面的某些内容?
是的,确实变化很大。如果您订阅了整个集合,那么整个集合将被发送到客户端并与服务器保持同步。所以无论如何,如果您只需要一个文档,并且不需要缓存任何其他文档(例如,为了切换到一个新文档),那么只订阅您需要的那个。
我希望有人能在 Meteor.js 中澄清关于订阅的这一点:
如文档中所写,find() 函数 returns 需要获取的游标,而不是数据; 假设我有一个发布功能:
Meteor.publish('pages', function() {
return Pages.find()
});
现在假设我只需要带有代码的页面:"one";在模板助手中,我可以获取该文档:
Template.mytemplate.helpers({
data: function() {
return Pages.find({code: "one"});
}
});
问题是:这样做是否正确,或者如果我只需要一份文件,最好只订阅该文件? (类似于:
Meteor.publish('page', function(code) {
return Pages.find({code: code})
});
)
我的意思是:它是否改变了 efficiency/performance 方面的某些内容?
是的,确实变化很大。如果您订阅了整个集合,那么整个集合将被发送到客户端并与服务器保持同步。所以无论如何,如果您只需要一个文档,并且不需要缓存任何其他文档(例如,为了切换到一个新文档),那么只订阅您需要的那个。