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

Кога да вграждате документи в Mongo DB

Ключът тук е по-малко за "това връзка ли е?" и повече за "как ще получа достъп до това?"

MongoDB не е "анти-референция". MongoDB не имат предимствата на присъединяванията, но прави имат предимствата на вградените документи.

Докато разбирате тези компромиси, тогава е напълно справедливо да използвате препратки в MongoDB. Всъщност става въпрос за това как планирате да правите запитвания към тези обекти.

Може би. Някои неща, които трябва да имате предвид.

  • Правете games имат стойност извън контекста на user ?
  • Колко games ще един user имате?
  • Е games транзакционен характер?
  • Как ще получите достъп до games ? Винаги ли имате нужда от всички игри на даден потребител?

Ако планирате да създавате класации и потребителят може да генерира стотици документи за игри, тогава вероятно е справедливо да има игри в собствената си колекция. Съхраняването на десет хиляди екземпляра на „игра“ във всеки потребител не е особено полезно.

Но в зависимост от отговорите ви на горното, наистина можете да отидете в двете посоки. Като лакмусов тест бих опитал да стартирам някои задания за Map/Reduce (т.е. създаване на проста класация ), за да видите какво мислите за структурата на вашите данни.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как да използвам MongoDB за съхраняване на ejabberd съобщения?

  2. Как да направя заявка за агрегиране на Mongo в Spring Data?

  3. Топ 10 функции на MongoDB Atlas

  4. Как да извлечете само избрани идентификатори на mongo, като използвате метода на spring data mongorepository?

  5. MongoDB използва клауза ИЛИ в mongoengine