Você pode fazer isso pelo preenchimento virtual, introduzido na versão 4.5 do mangusto. Para isso você precisa definir um campo virtual no esquema do mangusto.
var GallerySchema = new mongoose.Schema({
name: String,
objectId: {
type: mongoose.Schema.Types.ObjectId
},
});
GallerySchema.virtual('user', {
ref: 'User',
localField: 'objectId',
foreignField: '_id'
});
E quando você executa a consulta de localização, basta preenchê-la com o usuário.
Gallry.find({_id: galleryId}).populate('user','firstName lastName').exec(function(error, gallery) {
console.log(error);
console.log(gallery);;
});
O código acima não foi testado no programa, pode haver erros de digitação, você pode obter mais detalhes sobre o preenchimento virtual do mangusto no link abaixo
http://mongoosejs.com/docs/populate.html