できることの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
のインデックスを確認することを忘れないでください 。
さまざまなことを試して、データのベンチマークを実行し、何が効果的かを確認してください。