Als je veel gegevens hebt, zou ik dezelfde aanpak volgen en een geaggregeerde teller verhogen wanneer een nieuw bericht voor een gebruiker wordt toegevoegd, met een verzameling als volgt:
telt
{
userid: 123,
messages: 10
}
Helaas (of gelukkig?) zijn er geen triggers in MongoDB, dus je zou de teller verhogen vanuit je applicatielogica:
db.counts.update( { userid: 123 }, { $inc: { messages: 1 } } )
Dit geeft u de beste prestaties en u zou waarschijnlijk ook een index op de userid
plaatsen veld voor snel opzoeken:
db.counts.ensureIndex( { userid: 1 } )