sql >> Database >  >> NoSQL >> MongoDB

Is er een MongoDB maximale bson-omvang?

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.



  1. Mongoose-fout:kan __v en __v niet tegelijkertijd bijwerken

  2. mongo _id veld dubbele sleutel fout

  3. MEANJS:413 (verzoekentiteit te groot)

  4. Splits string in een array van substrings of karakters in MongoDB