前言
我们在 mongoose关联查询技巧笔记 的关联技巧一:关联引用子查父 中我们发现可以通过lookup进行子查父,那么我们是否有什么快捷方式能在子当中定义一个字段,查询子的时候就能带出父的信息呢?
virtual使用
virtual虚拟值填充-官方文档
schema 设置 toJSON 和toObject可获取
1 2 3 4 5 6
| toJSON: { virtuals: true, }, toObject: { virtuals: true, },
|
合并字段
1 2 3 4 5 6 7 8 9 10 11
| personSchema.virtual('fullName').get(function () { return this.name.first + ' ' + this.name.last; });
var Person = mongoose.model('Person', personSchema);
var p = new Person({ name: { first: 'junyao', last: 'hong' } });
p.name.fullName // junyao hong
|
virtual关联查询(子查父)
1 2 3 4 5 6
| BookSchema.virtual('author', { ref: 'authors', localField: '_id', foreignField: 'books', justOne: true, })
|