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

schemat mongo (osadzanie a odniesienie)

Osobiście wybrałbym osobną kolekcję, głównie w celu utrzymania małych obiektów użytkownika/miejsca, ponieważ możesz mieć nieograniczoną liczbę zameldowań na użytkownika/miejsce. Jeśli umieścisz indeks na user_id/timestampl i place_id/timestamp w swojej kolekcji checkins, zapytania dla konkretnego użytkownika lub miejsca będą skuteczne. Drugą korzyścią wynikającą z używania oddzielnej kolekcji jest to, że MongoDB nie musi przenosić użytkownika ani umieszczać obiektu, gdy stanie się on zbyt duży. Zamiast tego będzie po prostu dołączał do kolekcji checkins, która powinna być dość wydajna (10 z 1000 wstawek na sekundę na odłamek).

Powinienem też wspomnieć, że nie przechowuj identyfikatory zameldowania w miejscu ani w dokumencie użytkownika, ponieważ uzyskasz tę samą wydajność, jeśli masz indeks na identyfikatorze miejsca lub identyfikatorze użytkownika w dokumencie zameldowania.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Porady dotyczące migracji z MongoMapper do Mongoid?

  2. Bezpiecznie wstawiaj lub aktualizuj poddokument w MongoDB

  3. MongoDB:Pobieranie listy wszystkich baz danych?

  4. tajemniczy błąd mongodb LEFT_SUBFIELD obsługuje tylko Object:statystyki nie:6

  5. Czy mogę odczytać plik csv z pliku JavaScript Mongo Shell?