sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB:Volání Count() vs. sledovací počty v kolekci

Pokud máte hodně dat, držel bych se stejného přístupu a zvýšil bych agregované počítadlo vždy, když je pro uživatele přidána nová zpráva, pomocí kolekce přibližně takto:

počítá

{
    userid: 123,
    messages: 10
}

Bohužel (nebo naštěstí?) v MongoDB nejsou žádné spouštěče, takže byste zvýšili počítadlo z logiky vaší aplikace:

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

To vám poskytne nejlepší výkon a pravděpodobně byste také umístili index na userid pole pro rychlé vyhledávání:

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


  1. Agregace s aktualizací v mongoDB

  2. Vztahy zpětné smyčky nevyplňují pole ID objektů

  3. Jaké znaky NEJSOU povoleny v názvech polí MongoDB?

  4. Diagnostika neočekávaného selhání serveru redis