2012-06-20 6 views

答えて

14

グリッドの使用はい。

Gridfsはストレージ仕様です。 DBには組み込まれておらず、ドライバに組み込まれています。

詳しくは、http://www.mongodb.org/display/DOCS/GridFSをご覧ください。

大きな文書を小さな文書に分割し、そのファイルを照会するfs.filesコレクションによってマスターされた塊コレクションにこれらのaprtsを格納することです。

+0

+1は私の答えを改善し、詳細を掘るのを手伝ってくれました! – jsalonen

+1

バイナリファイルがBSONサイズ制限(現在は16MB)に収まる場合は、バイナリオブジェクトを単一のドキュメントに直接格納することも検討する必要があります。 Wikiページには、[GridFSを使用するタイミング](http://www.mongodb.org/display/DOCS/When+to+use+GridFS)に関するいくつかの提案があります。 – Stennie

+0

確かに、それは不確かなクエリとスペースの割り当てを引き起こす可能性があるため、まったく正しいです。 – Sammaye

6

MongoDBは、JSONライクなドキュメント(BSON)を保存するドキュメントデータベースです。 BSONオブジェクトの最大サイズは16 megabytesですが、ユースケースによっては小さすぎる可能性があります。

任意のサイズのバイナリデータを保存する場合は、GridFS(http://www.mongodb.org/display/DOCS/GridFS+Specification)を使用できます。 GridFSは自動的にドキュメント(またはバイナリデータ)をいくつかのBSONオブジェクト(usually 256k in size)に分割するので、完全なドキュメントの格納や検索は心配する必要はありません。

私が知る限り、MongooseはGridFSをサポートしていません。ただし、its native driver's GridStore経由でGridFSを使用することはできます。ただnpm install mongodbを実行し、ハッキングを開始してください!

+0

私は知っている - それはタイトルに冗談があると言った - 私はその冗談を回避する必要があったspose。 MongoDBには、WordやExcelをBSONに「分割」してクエリを実行すると再アセンブルする機能はありますか? – PinkElephantsOnParade

+1

MongoDBはJSONではなく、BSONはJSONではありません – Sammaye

+1

実際には16MbのMsxドキュメントサイズ – Sammaye

関連する問題