在iron router的客户端上运行meteor collection.find().fetch(),返回一个空数组

在iron router的客户端上运行meteor collection.find().fetch(),返回一个空数组,meteor,meteor-collections,Meteor,Meteor Collections,以下是我在客户端名为route.js的文件中的代码: data: function () { var sHash = this.params.sHash, cursor = Sites.find({siteHash:sHash}), obj = cursor; console.log("cursorData = ", obj); } 运行此命令时,cursorData返回: L…n.Cursor{collection:LocalCollection,sorter:nul

以下是我在客户端名为route.js的文件中的代码:

data: function () {
var sHash = this.params.sHash,
    cursor = Sites.find({siteHash:sHash}),
    obj = cursor;
    console.log("cursorData = ", obj);
}
运行此命令时,cursorData返回: L…n.Cursor{collection:LocalCollection,sorter:null,matcher:M…o.matcher,_selectorId:undefined,skip:undefined…}

cursorData obj包含我正在查找的数据,我可以使用forEach获取这些数据,但我希望将其作为数组访问

这是我使用fetch的代码

data: function () {
    var sHash = this.params.sHash,
    cursor = Sites.find({siteHash:sHash}),
    obj = cursor.fetch();
    console.log("cursorData = ", obj);
}
现在cursorData返回: 游标数据=[]

我没有使用pub/sub,但是这个问题的所有解决方案都表明了这一点,所以我尝试了一下,结果没有什么不同。
我已经围绕这一点编写了程序,但作为一个新手,我试图了解Meteor的细微差别,我想理解为什么当我看到它在其他地方被使用时,我不能让它工作

是否正在等待站点订阅?请确保订阅已完成,然后再运行游标。您可以使用waitOn:function。例如waitOn:函数{return Meteor.subscribebename-of-subscription;},