sql >> Database >  >> NoSQL >> MongoDB

MongoDB:Calling Count() vs tracking counts in een collectie

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 } )


  1. Unieke documenten in een MongoDB-collectie

  2. Hoe hernoem / alias veld (en) tijdens het ophalen van MongoDB via een query met behulp van MongoDB-Node.JS native drive?

  3. Kan niet authenticeren in mongo, auth mislukt

  4. errmsg:Geen host beschreven in nieuwe configuratie 1 voor replicaset rs0-toewijzingen aan dit knooppunt. Waarom krijg ik dit bericht?