2012-03-21 5 views
2

上限付きコレクションの文書は更新できますが、文書サイズは増加しません。ドキュメントを更新する必要があるため、最初の挿入時にスペースを事前に割り当てて、それをさらに更新するために使用できるかどうかという疑問があります。MongoDBは、上限付きコレクション内の文書のスペースを事前に割り当てます。

次のようなものがあります。ドキュメントを挿入して1MBをゼロにし、文書を更新して「偽」ゼロを減らします。

+0

キャップ付きコレクションの文書スペックによると思われます – jdi

+0

概念の迅速な証明の候補者のように聞こえて、残りのコミュニティの利益のためにあなた自身の質問に答えてください。 –

+0

私のトリックはうまくいくようです! – Andrew

答えて

2

あなたが本質的に説明しているのは、手動パディングです。私は前にキャップを付けられたコレクションの文脈でそれをしていないが、それがうまくいかない理由はない。更新のために増加する文書の高価な移動を避けることは、一般的には良い方法です。

私はまた、実際に彼らがスキーマ(ブログの最後の5つのコメントを保存し、メインフィールドの長さを固定し、例えば、すべての歴史のための参照、公式マニュアルパディングドキュメントはここにある:あなたが言及として成長更新することはできませんが、頂いたコレクションで

http://www.mongodb.org/display/DOCS/Padding+Factor#PaddingFactor-ManualPadding

ていますが、中にあったより大きな文書を挿入することができますそれ以前には、古いドキュメントは余裕を持っていなければならず、複数のコレクションがコレクションから落ちる可能性があります。

関連する問題