2015-10-01 11 views
6

私はJavaでMongo db 3.0を評価しており、文書サイズが16MBを超えたシナリオが発生しました。このシナリオでは、ドキュメントにいくつかの追加フィールドを含む埋め込みコレクションとして含めるプライマリキー(一意のレコード)の一覧があります。 pkが16kを超えると、文書のサイズが超過したというエラーが表示されます。コレクションを埋め込むのではなく、ドキュメントの外に置くことができることはわかっていますが、このシナリオではコレクションが必要なので、このようにしています。文書の外に別のコレクションとして保存するとうまくいきますが、挿入/更新はすべてのpkと挿入/更新を検索する必要があるため非常に遅くなっています。Javaを使用してMongo db 3.0に16MB以上の文書を挿入

これを達成できる方法は他にありますか?

私はこのためにgridfsを使うことができると知っていますが、例を見ても分かるように、主にイメージ/ビデオなどをファイルシステムに保存するために使用されています。これは確かに我々がそれをしたい方法ではありません。

非常に参考になります。前もって感謝します。ここで

+0

タイトルのBSON文書の制限について話しながら、質問本体が主キーの制限について話しているときに、ここで問題を再説明できますか?これらは異なるものです。 BTW。私が言及している矛盾する記述によって明らかに不明確であるように、あなたの質問がこれのように転記された直後に、眉毛を上げる。 –

+0

私は主キーを意味していません。私は16k以上で16MBを超えるドキュメントを埋め込んだドキュメントを持っています。私はそれを保存したい。どうすればこの問題を解決できますか? –

+2

さて、16MBのBSON制限をクリアできないので、それは完了です。主キーは別の問題ですが、ドキュメントのサイズに関連している場合は、それ以上話すことはありません。あなたの投稿をアップアップしてもらうのをやめてください。それは気づいている。 –

答えて

1

は、公式ドキュメントです:

MongoDB Limits and Thresholds

彼らはあなたがBSONオブジェクト(16Mバイト)のサイズ制限を超えたときにGridFSを使用することもお勧めします。 GridFSは、メディアファイルだけでなく、すべての種類のバイナリコンテンツに使用されます。

関連する問題