MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB:Chamando Count() vs contagens de rastreamento em uma coleção


Se você tiver muitos dados, eu continuaria com a mesma abordagem e incrementaria um contador agregado sempre que uma nova mensagem fosse adicionada para um usuário, usando uma coleção mais ou menos assim:

contagens
{
    userid: 123,
    messages: 10
}

Infelizmente (ou felizmente?) não há gatilhos no MongoDB, então você incrementaria o contador da lógica do seu aplicativo:
db.counts.update( { userid: 123 }, { $inc: { messages: 1 } } )

Isso lhe dará o melhor desempenho, e você provavelmente também colocaria um índice no userid campo para pesquisas rápidas:
db.counts.ensureIndex( { userid: 1 } )