MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Има ли работа за максимален размер на MongoDB за bson?

Едно нещо, което можете да направите, е да изградите своя собствена mongoDB :-). Mongodb е отворен източник и ограничението за размера на документ е доста произволно, за да се наложи по-добър дизайн на схема . Можете просто да промените този ред и го изградете за себе си. Внимавайте с това.

Най-правата идея е всеки малък въпрос в различен документ с поле, което препраща към неговия родител.

Друга идея е да ограничите броя на документите в родитела . Да кажем, че ограничавате 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, можете да сте сигурни, че ще бъдете в 16 MB BSON. А за да прочетете цялото проучване, можете да изберете

db.coll.find({id: the Id you need}) и след това комбинирайте цялото проучване на ниво приложение. Също така не забравяйте да осигурите индекс на id .

Опитайте различни неща, направете сравнителен анализ на вашите данни и вижте какво работи за вас.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да проектираме само съвпадащи полета на вложен масив в заявка за mongo shell

  2. твърде много отворени файлове в сървъра mgo go

  3. Какъв е добър избор на база данни за малко .NET приложение?

  4. Дизайн на схема на MongoDB - нова колекция или справка?

  5. Django + Mongo + Docker получава pymongo.errors.ServerSelectionTimeoutError