sql >> Database >  >> NoSQL >> MongoDB

Mongoose, sorteer op basis van buitenlandse/bevolkte sleutel

$lookup gebruiken (die de left outer join uitvoert, vergelijkbaar met sql) in de aggregatiepijplijn kan dit oplossen:

router.get('/',function(req,res,next){  
    AgendaCompromisso.aggregate([
    {
        $lookup:
        {
            from: "profissionais", //use the name of database collection not mongoose model
            localField: "profissional",
            foreignField: "_id",
            as: "profissional_doc"
        }
    },

    {
        $unwind: "$profissional_doc"  //remove array
    },

    {
        $sort: {"profissional_doc": -1}  // or {"profissional_doc": 1} for ascending
    }
    ])
    .exec( (err,data) => {
        callback(err,data,res)
    })
});

Gewoon een opmerking, voor opzoeken heb je mongodb versie 3.2 of hoger nodig.




  1. Hoe verwijder je veel mongodb-collecties tegelijk?

  2. Hoe de verbinding tussen mysql en memcached in php . te controleren

  3. OAuth 2.0 - Wanneer moet een toegangstoken worden vernieuwd met een vernieuwingstoken?

  4. Mongodb-scripts uitvoeren via mongoid Rails