MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Existe-t-il une taille maximale de bson MongoDB?

Une chose que vous pouvez faire est de construire votre propre mongoDB :-). Mongodb est une source ouverte et la limitation de la taille d'un document est plutôt arbitraire pour appliquer un meilleure conception de schéma . Vous pouvez simplement modifier cette ligne et construisez-le vous-même. Soyez prudent avec cela.

L'idée la plus simple est d'avoir chaque petite question dans un document différent avec un champ qui fait référence à son parent.

Une autre idée est de limiter le nombre de documents dans le parent . Disons que vous limitez est N éléments alors le parent ressemble à ceci :

{
  _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 {}
  ]
}

De cette façon, en modifiant le numéro N, vous pouvez vous assurer que vous serez dans 16 Mo de BSON. Et pour lire l'intégralité de l'enquête, vous pouvez sélectionner

db.coll.find({id: the Id you need}) puis combinez l'ensemble de l'enquête au niveau de l'application. N'oubliez pas non plus d'assurerIndex sur id .

Essayez différentes choses, faites une analyse comparative de vos données et voyez ce qui fonctionne pour vous.