MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como renomear o caminho em resposta ao preenchimento


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