Een ding dat u kunt doen, is uw eigen mongoDB bouwen :-). Mongodb is een open bron en de beperking van de grootte van een document is nogal willekeurig om een beter schemaontwerp . Je kunt gewoon deze regel en bouw het voor jezelf. Wees hier voorzichtig mee.
Het meest eenvoudige idee is om elke kleine vraag in een ander document te hebben met een veld dat verwijst naar zijn ouder.
Een ander idee is om het aantal documenten in de bovenliggende pagina te beperken . Laten we zeggen dat je N-elementen beperkt, dan ziet de ouder er als volgt uit:
{
_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 {}
]
}
Op deze manier kunt u door nummer N aan te passen ervoor zorgen dat u in 16 MB BSON komt. En om de hele enquête te lezen, kunt u
. selecteren
db.coll.find({id: the Id you need})
en combineer vervolgens het hele onderzoek op applicatieniveau. Vergeet ook niet te zorgen voor Index op id
.
Probeer verschillende dingen, doe een benchmark op uw gegevens en kijk wat voor u werkt.