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

Коя е най-добрата структура от данни за съхраняване на тези данни в mongoDB?

Структурата ви изглежда правилна. Съхранявате само news_id в полето за данни и това е по-интелигентно изпълнение, тъй като съхраняването на целия документ ще доведе до много преместване и писане от MongoDB всеки път, когато нова новина бъде добавена към любими от потребителя.

Причината, която вероятно вече знаете, е, че при всяка актуализация се създава нов документ. Справка:http://docs.mongodb.org/ manual/reference/method/db.collection.save/#upsert .

Също така мисля, че като бизнес правило трябва да ограничите броя на новините, които могат да бъдат зададени като предпочитани от потребителя. Разрешаването на този списък да расте безкрайно няма да е добра идея за вградения дизайн.

В случай, че искате неограничен брой любими, по-добре създайте отделна колекция за това и след това, за да получите всички любими от даден потребител, използвайте оператори $match (на потребителския идентификатор) и $sort (на новини) в заявка за обобщаване вземете сортирания списък с любими новини за потребителя.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Мигриране на MongoDB към DynamoDB, част 1

  2. Ограничете броя на връщанията на полето от mongodb в Meteor

  3. MongoDB:Копиране на масив в друг масив в същия документ

  4. Презареждане на браузъра:Не се връща към избраната страница, отива към началната страница по подразбиране - ReactJs

  5. MongoDB GridFS Размери на файлове огромни за относително малък файл