2016-08-25 4 views
0

問題の声明を超えてのMongoDBドキュメントの成長を制限する:すべき文書は8メガバイトに達すると (私たちは7000の小さなログのentiresを収容この8メガバイトで言ってみましょう)私たちは、8メガバイトを超える文書の成長を制限する必要があり8メガバイト

、さらに挿入。最初の文書では、いくつかのログエントリが削除された場合、「事前割り振り戦略」を扱うので、サイズを自動的に文書化します。

私はいくつかのリンクを参考にしていますmongodbからのもの:: https://docs.mongodb.com/manual/core/data-model-operations/#data-model-document-growth

リンクの上

私たちのクエリが「明示的に文書の成長を回避するために、事前割り当て戦略」があることを

を述べ::

  1. 我々はそのような制約を課すことができる(コレクションの8メガバイトの制限を言う)
  2. (1)可能な場合
  3. 、事前にこの要件に

感謝を達成するために私たちを助けてください

答えて

0

まず、いいえ、データベース側でこのような制限を実施する簡単な方法はありません。このような制限を適用する場合は、クライアントアプリケーション内でこれを処理する必要があります。

第2に、提供したリンクと事前割り当ての概念は、実際にはMMAPv1ストレージエンジンにのみ適用されます。ほとんどの場合、代わりにWiredTigerを使用することをお勧めします。

最後に、このような大きなドキュメントを作成することの意味を理解していることを確認してください。 8MBでもは非常にです。モデルを保存する方法を決める前に、データをどのように読み込み/照会するかを考えてみましょう。あなたのアクセスパターンが少数のログエントリを読み込むならば、そのような大きなバッチでそれらを読み取ることは非常に非効率的になるでしょう。

+0

**ありがとうございます** @helmy –

関連する問題