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

MongoDB:Wywołanie Count() a liczba śledzenia w kolekcji

Jeśli masz dużo danych, trzymam się tego samego podejścia i zwiększam licznik zagregowany za każdym razem, gdy nowa wiadomość jest dodawana dla użytkownika, używając kolekcji podobnej do tego:

liczy się

{
    userid: 123,
    messages: 10
}

Niestety (lub na szczęście?) w MongoDB nie ma wyzwalaczy, więc możesz zwiększyć licznik z logiki aplikacji:

db.counts.update( { userid: 123 }, { $inc: { messages: 1 } } )

Zapewni to najlepszą wydajność i prawdopodobnie umieścisz również indeks w userid pole do szybkiego wyszukiwania:

db.counts.ensureIndex( { userid: 1 } )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo podnosi [errno 49] nie może przypisać żądanego adresu po dużej liczbie zapytań

  2. Konwertujesz DateTime w UTC na mój czas lokalny?

  3. Zaktualizować obiekt tablicy na podstawie identyfikatora?

  4. mongodb uzyskać różne rekordy

  5. Agregacja MongoDB C# - rozwijanie -> groupBy