sql >> Databasteknik >  >> NoSQL >> MongoDB

Snabbt sätt att hitta dubbletter på indexerad kolumn i mongodb

Jag fann personligen att på stora databaser (1TB och mer) är accepterade svar fruktansvärt långsamt. Aggregationen går mycket snabbare. Exempel är nedan:

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

Den söker efter dokument vars extra_info.id har används två gånger eller fler gånger, sorterar resultaten i fallande ordning för givet fält och skriver ut de fem första värdena av det.



  1. Atomicitet, isolering och samtidighet i MongoDB

  2. [Infographic] Jämför Cassandra vs. MongoDB

  3. socket.io broadcast-funktion &Redis pub/sub-arkitektur

  4. Hur jämförs Morphia-, Mongo4j- och Spring-data för MongoDB?