sql >> データベース >  >> NoSQL >> MongoDB

MongoDBの最大bsonサイズの回避策はありますか?

    できることの1つは、独自のmongoDBを構築することです。 :-)。 Mongodbは、オープンなソース です。 また、ドキュメントのサイズに関する制限は、より良いスキーマ設計この行を変更するだけです 自分で作成します。これには注意してください。

    最も簡単なアイデアは、それぞれの小さな質問を別のドキュメントに入れることです。 親を参照するフィールドがあります。

    もう1つのアイデアは、親のドキュメント数を制限することです。 。制限がN個の要素であるとすると、親は次のようになります。

    {
      _id : ObjectId(),
      id : { type: Number, required: true },
      created: { type: Date, default: Date.now },  // you can store it only for the first element
      last_modified: { type: Date, default: Date.now }, // the same here
      data : [{
        id: 65,
        question: {
            test: "some questions",
            answers: [2,5,6]
        }
      }, ... up to N of such things {}
      ]
    }
    

    このように番号Nを変更すると、16MBのBSONにいることを確認できます。そして、調査全体を読むために、あなたは

    を選択することができます

    db.coll.find({id: the Id you need}) 次に、調査全体をアプリケーションレベルで組み合わせます。また、idのインデックスを確認することを忘れないでください 。

    さまざまなことを試して、データのベンチマークを実行し、何が効果的かを確認してください。



    1. PymongoforEachフォーマット

    2. SpringBootとmongodbでの接続プール

    3. MongoDBセットアップの全文検索オプション

    4. マングース-'保存'メソッドは存在しません