MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да преименувате пътя в отговор на попълване

Можете да направите това чрез виртуално попълване, въведено в mongoose версия 4.5. За целта трябва да дефинирате виртуално поле в схемата на mongoose.

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

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

Когато изпълнявате заявка за намиране, просто я попълнете с потребител.

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

Горният код не е тестван в програмата, може да има правописни грешки. Можете да получите повече подробности за mongoose virtual populate на връзката по-долу

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb, pymongo, aggregate дава странен изход (нещо за курсора)

  2. Някакъв начин да запишете тип дата като местно време в MongoDB?

  3. Използване на Async с MongoDb за попълване на документи за събиране по ред

  4. Заявете MongoDB с израз на регулярен израз срещу ObjectId

  5. Защо моята MongoDB $или заявка не работи?