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

MongoDb:Предимство от използването на ObjectID спрямо низ, съдържащ идентификатор?

Най-голямата причина е, че ObjectID са 12 байта, докато еквивалентен низ е 24 байта. При достатъчно голяма колекция тези 12 байта, запазени на идентификатор, наистина се събират! Тези идентификатори също означават по-малко байтове, прехвърлени по кабела при четене или писане на документа.

Освен това някои ODM очакват ObjectID за препратки към външни документи и могат да бъдат объркани от низовите версии на идентификатора. Не съм достатъчно запознат с PHP ODM, за да кажа дали това може да ви засегне конкретно.

Що се отнася до нещата с API обаче, вероятно трябва да правите нормализиране на данните, преди да ги изпратите на клиента, тъй като тъй като Mongo не налага схема, можете да имате буквално всякакви данни в дадено поле, така че може да имат някои документи, които имат низови идентификатори, а други, които имат BSON идентификатори, и вашият API с радост ще ги изпрати и двата до клиента, но единият или другият може да причини счупване. В този конкретен случай трябва да използвате BSON ObjectID във вашите документи и след това да ги прехвърляте към низове във вашия API изход.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да намерите дължината на масива mongodb

  2. Как работи примерът за броя на съобщенията в документите на Meteor?

  3. Кой е най-добрият начин за справяне с глобалната връзка на Mongodb в NodeJs

  4. Скорост на MongoDB {aggregation $match} срещу {find}

  5. Коригирайте „дължина/ширина е извън границите“ в MongoDB при създаване на индекс на 2dsphere