Korzystanie z $lookup (który wykonuje lewe złącze zewnętrzne, podobnie jak sql) w potoku agregacji może rozwiązać ten problem:
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)
})
});
Tylko uwaga, do wyszukiwania potrzebujesz mongodb w wersji 3.2 lub nowszej.