sql >> Database teknologi >  >> NoSQL >> MongoDB

Hurtig måde at finde dubletter på indekseret kolonne i mongodb

Jeg fandt personligt ud af, at det accepterede svar på store databaser (1 TB og mere) er frygtelig langsomt. Aggregation er meget hurtigere. Eksempel er nedenfor:

db.places.aggregate(
    { $group : {_id : "$extra_info.id", total : { $sum : 1 } } },
    { $match : { total : { $gte : 2 } } },
    { $sort : {total : -1} },
    { $limit : 5 }
    );

Den søger efter dokumenter, hvis extra_info.id bruges to gange eller flere gange, sorterer resultaterne i faldende rækkefølge af et givet felt og udskriver de første 5 værdier af det.



  1. SCUMM:Den agentbaserede databaseovervågningsinfrastruktur i ClusterControl

  2. Reducer udførelsestiden for sidekiq-job

  3. Manuel levering af argumenter til en MongoDB-forespørgsel for at understøtte sorteringsfunktion (for store og små bogstaver)

  4. Indsæt stor plade i mongodb ved hjælp af mongo-skal