Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor Can';t将流星收集的数据放入阵列_Meteor - Fatal编程技术网

Meteor Can';t将流星收集的数据放入阵列

Meteor Can';t将流星收集的数据放入阵列,meteor,Meteor,我正在学习Meteor,我试图将Collection.find()的结果传递到and数组中(使用一个变量),我拥有的简单代码是(在根目录下的文件中): 该页面没有显示任何内容,但使用控制台(CalEvents.find().fetch())可以看到我的数据库中有数据,但“events”变量为空。。。 我不明白为什么,因为我尝试了其他一些事情,比如更改文件名和移动代码以保证正确的顺序。 我已经尝试使用CalEvents.find().fetch()创建一个数组并将结果放入一个变量,但我无法做到。。

我正在学习Meteor,我试图将Collection.find()的结果传递到and数组中(使用一个变量),我拥有的简单代码是(在根目录下的文件中):

该页面没有显示任何内容,但使用控制台(CalEvents.find().fetch())可以看到我的数据库中有数据,但“events”变量为空。。。 我不明白为什么,因为我尝试了其他一些事情,比如更改文件名和移动代码以保证正确的顺序。 我已经尝试使用CalEvents.find().fetch()创建一个数组并将结果放入一个变量,但我无法做到。。。
有人知道我遗漏了什么这么简单吗?…

你使用自动订阅吗

您可能需要确保sbscription已经准备好。见和

您在控制台中确实看到
CalEvents.find().fetch()。但是在您的
事件=[]
code(我假设它位于
client
目录下的一个文件中,您可能会假设订阅数据已经到达,而实际上它还没有到达


Chrome的设备模式(DevTools中搜索图标附近的“手机”图标)是一个有用的调试工具,它可以让您模拟慢速网络(例如GPRS,每个请求延迟500毫秒).

Hi Dan!是的,我有autopublish。我删除了它,并将数组代码更改为订阅中用作回调的函数,它成功了!你认为使用Iron Router WaitOn和其他工具可以轻松处理此问题吗?或者……否则,我们将不得不关注几乎所有订阅不?谢谢!是的,Iron:router's waitOn使处理订阅变得更容易。我建议阅读和(在许多情况下甚至比iron:router的方法更好)。此外,不客气,如果有用,请随意投票/接受答案,并记住选择比user3481111更具描述性的StackOverflow用户名:)你说得对,丹……似乎没有一个合适的名字,我无法投票:(……但我已经接受了你的答案(我想)。再次感谢你,@user3481111:看一看。这是有史以来最著名的StackOverflow用户Jon Skeet的帖子。
    CalEvents = new Mongo.Collection('calevents');    //creating a collection 

/*------------------------- Populating the database with dummy data-------*/
    if (Meteor.isServer) {                            
    Meteor.startup(function () {
        if (CalEvents.find().count() === 0) {
          CalEvents.insert({
                title: "Initial room",
                start: '2010-02-02'
          });
        }
      });
    }
  /*--------------- Creating an array from the collection-----------------*/
    events = [];
    calEvents = CalEvents.find({});
    calEvents.forEach(function(evt){
        events.push({
            title: evt.title,
            start: evt.start,
        })
    });