流星中的fetch()到底有什么作用?

时间:2013-10-17 04:29:23

标签: meteor fetch

尝试使用meteor我遇到了一个我没想到的抓取行为。假设我有一个功能:

findStuff = function(){
  var cursor = Stuff.find({});
  console.log(stuff.fetch()); // just to check
  return cursor;
}

我从模板中调用它

Template.stuff.helpers({
  stuff : function(){
    var stuff = findStuff();
    console.log(stuff.fetch());  // just to check
    return stuff; 
  }
});

第一个日志将正确显示数组,但第二个日志将显示一个空数组。我很困惑为什么会这样。我的解决方案是避免在我不明确需要它的情况下调用fetch,但我喜欢将它用作调试工具。

1 个答案:

答案 0 :(得分:3)

您应该阅读cursor.rewind()

  

forEach,map或fetch方法只能在a上调用一次   光标。要多次访问游标中的数据,请使用快退   重置光标。