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

Najlepszy sposób na przechowywanie/pobieranie wartości z listy w Mongo/RectiveMongo?

Jakiś czas temu poradziłem sobie z tym problemem.

W mongo nie ma złączeń. Musisz ręcznie zająć się złączeniem.

Twoje opcje to:

  1. Przejdź przez każdy wpis komentarza i zapytanie mongo dla użytkownika. to właśnie robisz.
  2. Pobierz wszystkie identyfikatory użytkownika z komentarzy, zapytaj mongo dla użytkowników pasujących do tych identyfikatorów, a następnie zadbaj o dopasowanie użytkownika do komentarza. To właśnie zrobiłeś, ale trochę bardziej zoptymalizowane.
  3. Umieść użytkownika w komentarzach lub komentarzach w użytkownikach. Nie poleciłbym tego, prawdopodobnie nie jest to właściwe miejsce na komentarze/użytkowników.
  4. Zastanów się, jakiego zestawu danych potrzebujesz od użytkownika podczas wyświetlania komentarza, i umieść tylko te informacje w komentarzu

Wybrałem ostatnią opcję.
Umieściliśmy identyfikator użytkownika, imię i nazwisko w każdym komentarzu. Ta informacja raczej się nie zmieni (może nawet nie można jej zmienić po utworzeniu?).
Jeśli może się to zmienić, więc dostosowanie metody update-user do aktualizacji powiązanych komentarzy o nowe informacje nie jest zbyt trudne (tak też zrobiliśmy).
Więc teraz nie jest potrzebne żadne dołączenie.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uruchamianie zaawansowanych zapytań MongoDB w języku R za pomocą rmongodb

  2. Zapytanie Mongodb nie używa prefiksu w indeksie złożonym z polem tekstowym

  3. Kompresja prefiksu indeksu w MongoDB 3.0 WiredTiger

  4. Jak uzyskać tablicę obiektów json zamiast dokumentów mongoose?

  5. Błąd połączenia MongoLab/PyMongo