Mongoose 4.5 supporta questo
Project.find(query)
.populate({
path: 'pages',
populate: {
path: 'components',
model: 'Component'
}
})
.exec(function(err, docs) {});
E puoi unirti a più di un livello profondo.
Modifica 17/03/2021:questa è l'implementazione della libreria, quello che fa dietro le quinte è fare un'altra query per recuperare qualcosa per te e quindi unirti in memoria. Anche se questo lavoro, ma non dovremmo davvero fare affidamento. Farà sembrare il tuo design db come tabelle SQL. Questa è un'operazione costosa e non si adatta bene. Prova a progettare il tuo documento in modo che riduca il join.