2017-06-22 81 views
1

我最近开始学习流星,所以我学会了如何通过流星与Mongo一起工作,但有些东西我不明白,在网络中我经常看到如下例子:SomeCollection.find().fetch(),我看不到什么是fetch()对于?流星蒙戈什么是取()?

docs,他们说:

当从被动计算叫上匹配的文档读取寄存器的依赖性

这是否意味着,当SomeCollection变化的数据,他们将在视图中改变?

是否由find()返回的游标默认为反应(游标上的数据更改将自动在视图中可见)?

任何人都可以清除这种歧义吗?

回答

0

我看到的文件说:

返回所有匹配的文件作为一个数组。

Collection.find()返回包含匹配的文档,以该集合一个cursor,和Collection.find().fetch()返回一个数组(包含那些文档)到cursor

1

来自someCollection.find()的光标已经足够作为Blaze模板帮手的返回值。 Blaze知道如何迭代游标和数组。是的,当光标改变时,模板视图会自动更新。

但在某些情况下,您希望使用某些只能理解数组的其他算法/库处理您的收集查询的结果,在这种情况下,您只需在处理该光标之前使用fetch()即可。如果您需要在光标更改时重新运行此过程,则只需将其包装为this.autorun/Tracker.autorun,以使其成为文档讨论的“反应计算”。