1

ファイルの先頭に次のようなものを配置できます...

var collection = db.mongo.collection('test', function(err, collection){return collection});

そして、ファイル関数のいずれかでcollection.find()etcを使用します

私の質問は...collectionコレクションへの参照ですか、それともデータのコピーですか?

collectionコレクション内のデータが変更された場合でも、変数をクエリすることで最新のデータを取得できますか?

ありがとう!!

4

1 に答える 1

0

Collection は、コレクション オブジェクトの参照です。find (または findOne) を発行するまで、実際のデータは手元にありません。その場合でも、コレクション オブジェクトは常に変更されずに Cursor オブジェクトが返されます。

コレクションまたはカーソルの両方を保存しても、データは保存されません。何百万ものレコードを扱う可能性があることを覚えておいてください。データ自体を処理すると、サーバー メモリが圧倒される可能性があります。代わりに、mongo はカーソルと参照を返し、フィルターで除外します。PHP には、カーソルを渡すことができる iterator_to_array という関数があり、データの配列に変換されます。JavaScript では、そのような機能があるかどうかはわかりません。しかし、私はそのような機能であることは意味がないと思います. 管理可能なデータサイズになるまで情報をフィルタリングしてから、カーソルを繰り返し処理してください。いくつかのドキュメントではなく、構成配列などのようなものがある場合は、すべてを1つに保存して、findOne()関数で取得してみてください。

しかし、最終的には、データをフィルタリングできるかどうかは単なる設計上の問題だと思います。

于 2012-04-21T17:16:40.663 に答える