MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jaka jest najlepsza struktura danych do przechowywania tych danych w mongoDB?

Twoja struktura wygląda poprawnie. Przechowujesz tylko identyfikator news_id w polu danych i jest to mądrzejsza implementacja, ponieważ przechowywanie kompletnego dokumentu spowoduje wiele ruchów i pisania przez MongoDB za każdym razem, gdy nowa wiadomość zostanie dodana do ulubionych przez użytkownika.

Powodem, który prawdopodobnie już znasz, jest to, że przy każdej aktualizacji tworzony jest nowy dokument. Odniesienie:http://docs.mongodb.org/ manual/reference/method/db.collection.save/#upsert .

Uważam również, że z reguły biznesowej należy ograniczyć liczbę wiadomości, które użytkownik może ustawić jako ulubione. Pozwalanie, by ta lista rosła w nieskończoność, nie będzie dobrym pomysłem dla wbudowanego projektu.

Jeśli chcesz mieć nieograniczoną liczbę ulubionych, lepiej utwórz osobną kolekcję, a następnie, aby uzyskać wszystkie ulubione przez użytkownika, użyj operatorów $match (w identyfikatorze użytkownika) i $sort (elementów wiadomości) w zapytaniu agregującym, aby pobierz posortowaną listę ulubionych wiadomości dla użytkownika.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy MongoDB można spakować w aplikacji Electron?

  2. Aktualizacja/zmiana o manguście?

  3. Nie można połączyć się z mongodb

  4. Jak utworzyć tablicę tablic schematów obiektów w Mongoose.js

  5. pymongo grupuj według daty i godziny