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

Relacje osadzone lub odniesienia

W twoim przypadku radziłbym skorzystać z danych referencyjnych. Ponieważ przypuszczam, że trzeba manipulować każdą z tych kolekcji z osobna (musisz mieć możliwość edycji/usuwania/aktualizowania "produktów" przez _id i wykonywania innych skomplikowanych zapytań, co jest znacznie łatwiejsze i bardziej efektywne, gdy masz oddzielne kolekcja).

W tym samym czasie przechowywałbym trochę pełne dane osadzone w kolekcji Użytkowników, tylko w celu przyspieszenia wyświetlania w przeglądarce odwiedzającego. Załóżmy, że masz stronę użytkownika, na której chcesz pokazać profil użytkownika oraz 5 najlepszych rynków i 20 najlepszych produktów. Możesz osadzić te najnowsze top-5 i top-20 w dokumencie użytkownika i zaktualizować te osadzone obiekty, gdy pojawią się nowe rynki/produkty. W tym przypadku - kiedy pokazujesz stronę użytkownika wystarczy wykonać tylko 1 zapytanie do MongoDB. Działa to jako pamięć podręczna. Jeśli odwiedzający musi zobaczyć więcej produktów, przechodzi do następnej strony „Produkty” i przeszukuje oddzielną kolekcję „Produkty” w MongoDB.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB dropIndexes()

  2. mangusta _id pola nie można usunąć

  3. Wprowadź wartość formularza (format json) do bazy danych za pomocą meteor

  4. Uzyskaj dostęp do podkolekcji w formie mongoid z szynami, aby edytować i tworzyć nowy wpis

  5. Projektuj tablicę obiektów do wartości klucza