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

Най-добрият начин за съхраняване/получаване на стойности, посочени от списък в Mongo/RectiveMongo?

Преди малко се заех с точно този проблем.

В mongo няма обединения. Трябва ръчно да се погрижите за присъединяването.

Вашите опции са:

  1. Прегледайте всеки коментар и потърсете mongo за потребителя. това е, което правите.
  2. Вземете всички потребителски идентификационни номера от коментари, потърсете mongo за потребителите, съответстващи на тези идентификационни номера, след което се погрижете да съпоставите потребител с коментар. Това е точно това, което направихте, но малко по-оптимизирано.
  3. Вградете потребителя в коментари или коментари в потребители. Не бих препоръчал това, вероятно това не е правилното място за коментари/потребители.
  4. Помислете от какъв набор от данни се нуждаете от потребителя, когато показвате коментар, и вградете само тази информация в коментар

В крайна сметка избрах последната опция.
Вградихме потребителския идентификатор, собственото и фамилното име във всеки коментар. Тази информация е малко вероятно да се промени (вероятно дори не е позволено да се променя след създаването?).
Ако може да се промени, тогава не е твърде трудно да се приспособи методът за актуализиране на потребителя, за да актуализира свързаните коментари с новата информация (направихме и това).
Така че сега не е необходимо присъединяване.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Задаването на опция за малки файлове за контролиране на журналирането не контролира размера

  2. Внедряване на приложението Meteor на собствен сървър

  3. Преобразувайте разликата в датата в години, за да изчислите възрастта в MongoDB

  4. Как да решите коя NoSQL технология да използвате?

  5. mongoose рекурсивно попълване