sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man byter namn på sökväg som svar för fylla

Du kan göra detta genom virtuell populate, introducerad i mongoose version 4.5. För det måste du definiera ett virtuellt fält i mongoose-schemat.

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

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

Och när du kör sökfrågan fyller du bara i den med användare.

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

Ovanstående kod är inte testad i programmet, det kan finnas stavfel. Du kan få mer information om mongoose virtual populate på länken nedan

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




  1. Använda aggregering för att sortera i komplex villkorlig i Mongodb

  2. Hur kan jag fråga mongodb med mongoid/rails utan tidsgräns?

  3. MongoDB med Mongoid in Rails - Geospatial Indexing

  4. MongoDb Aggregation:Hur kan jag gruppera en array-1 baserat på en annan array-2 när den ges array-1 och array-2?