sql >> Database >  >> NoSQL >> MongoDB

Waarom MongoDb-sortering traag is met opzoekcollecties

Momenteel wordt er gezocht voor elke medewerker_details, wat betekent voor 330000 keer, maar als we eerst sorteren en beperken voor het opzoeken, zal dit slechts 10 keer zijn. Dit zal de zoektijd aanzienlijk verkorten.

db.getCollection('employee_details').aggregate([
    {$sort      : {employee_fname: -1}},
    {$limit     :10},
    {
        $lookup : {
            from         : "departments",
            localField   : "department_id",
            foreignField : "_id",
            as           : "Department"
        }
    },
    { $unwind   : { path: "$Department", preserveNullAndEmptyArrays: true }},
]) 

Nadat u dit geprobeerd heeft, kunt u, als u de responstijd zelfs maar wilt verkorten, een index definiëren in het sorteerveld.

db.employee_details.createIndex( { employee_fname: -1 } )



  1. Ondersteunt Mongo-connector het toevoegen van velden voordat deze in Elasticsearch worden ingevoegd?

  2. Wat is de beste methode om een ​​Node / MongoDB-toepassing te seeden?

  3. Spring boot mongoDB zoals query op numerieke velden-Integer / Double

  4. MongoDB/Mongoose Hoe koppel ik twee db-items zonder conflicten?