sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:Calling Count() kontra spårningsantal i en samling

Om du har mycket data, skulle jag hålla fast vid samma tillvägagångssätt och öka en sammanlagd räknare när ett nytt meddelande läggs till för en användare, med hjälp av en samling ungefär så här:

räknas

{
    userid: 123,
    messages: 10
}

Tyvärr (eller lyckligtvis?) finns det inga utlösare i MongoDB, så du skulle öka räknaren från din applikationslogik:

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

Detta ger dig den bästa prestandan, och du skulle förmodligen också lägga ett index på userid fält för snabba sökningar:

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


  1. gör om HLL för många falska positiva

  2. Konfigurera MongoDB på Windows

  3. mongoimport CSV med pymongo

  4. Skiftlägesokänslig sortering i MongoDB