2016-07-20 5 views
4

Ich habe eine Abfrage wie folgt aus:Wie Pfad in Antwort für bevöl umbenennen

galleryModel.find({_id: galleryId}) 
      .populate({ 
       model: 'User', 
       path: 'objectId', 
       select: 'firstName lastName' 
      }) 

End-Antwort für objectId so sein wird:

objectId: { 
... 
} 

Wie kann ich es user in Reaktion ändern ohne den wirklichen Weg zu ändern?

Antwort

0

Sie können dies durch virtuelles Auffüllen tun, in Mungo-Version 4.5 eingeführt. Dazu müssen Sie ein virtuelles Feld im Mungo-Schema definieren.

var GallerySchema = new mongoose.Schema({ 
    name: String, 
    objectId: { 
     type: mongoose.Schema.Types.ObjectId 
    }, 
}); 

GallerySchema.virtual('user', { 
    ref: 'User', 
    localField: 'objectId', 
    foreignField: '_id' 
}); 

Ans, wenn Sie Abfrage finden, füllen Sie einfach mit Benutzer.

Gallry.find({_id: galleryId}).populate('user','firstName lastName').exec(function(error, gallery) { 
    console.log(error); 
    console.log(gallery);; 
}); 

Above-Code wird nicht in Programm getestet, da Tippfehler sein können, Sie genauere Informationen über Mungo virtuelle

Link unten auffüllen bekommen können

http://mongoosejs.com/docs/populate.html