当我按照Meteor介绍tutorial时,我注意到某种奇怪的行为。 本教程使用此代码段从客户端代码查询数据库:
Template.body.helpers({
tasks () {
return Tasks.find({});
},
});
它应该将光标返回到找到的集合,然后我们可以使用.fetch()
获取实际数据,并且它按预期工作。
但每当我尝试使用类似的东西查询客户端上的'main.js'文件时:
console.log(Tasks.find({}).fetch());
它总是打印一个空数组!任何解释?
注意:当我在服务器端代码或模板助手上下文(被认为是客户端代码)中查询时,它会完美地打印数据库中的所有数据!
答案 0 :(得分:1)
在评估查询时,客户端集合可能为空。顶级语句main.js可以在客户端收到所有来自服务器的集合数据之前运行。