2017-06-22 6 views
1

私は最近Meteorを学び始めたので、Meteor経由でMongoを使う方法を学びましたが、私は理解できない何かがあります。私はしばしば例を見ています。SomeCollection.find().fetch()、私はfetch()が良いです? docs流星mongo fetch()とは何ですか?

、彼らは言う:

反応性の計算から呼び出された場合、一致した文書にレジスタの依存関係をフェッチ

ことがSomeCollection変化のデータは、彼らがなるときことを意味していますビューで変わった?

find()によって返されるカーソルは、デフォルトで反応しません(カーソル上のデータの変更は自動的に表示されます)。

誰でもこの曖昧さを解消できますか?私はマニュアルを参照してください

答えて

0

は言う:Arrayなど

戻る一致するすべての文書。

Collection.find()そのコレクションに一致する文書を含むcursorを返し、Collection.find().fetch()そのcursorに(これらの文書を含む)の配列を返します。

1

someCollection.find()のカーソルは、のBlazeテンプレートヘルパーの戻り値として十分です。 Blazeはカーソルと配列を反復する方法を知っています。そして、はい、カーソルが変わると、それに応じて自動的にテンプレートビューが更新されます。

しかし、状況によっては、配列だけを理解する他のアルゴリズム/ライブラリを使用してコレクションクエリの結果を処理したい場合は、処理する前にカーソルをfetch()にするだけです。カーソルが変更されたときにこのプロセスを再実行する必要がある場合は、this.autorun/Tracker.autorunと折り返して、ドキュメントが「反応計算」になるようにします。

関連する問題