MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB :Calling Count() vs tracking counts dans une collection

Si vous avez beaucoup de données, je conserverais la même approche et incrémenterais un compteur agrégé chaque fois qu'un nouveau message est ajouté pour un utilisateur, en utilisant une collection comme celle-ci :

compte

{
    userid: 123,
    messages: 10
}

Malheureusement (ou heureusement ?), il n'y a pas de déclencheurs dans MongoDB, vous devez donc incrémenter le compteur à partir de la logique de votre application :

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

Cela vous donnera les meilleures performances, et vous placerez probablement aussi un index sur le userid champ pour les recherches rapides :

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