mongoose的populate实现多级关联查询

使用mongoose中有多级关联情景,如

收藏 Collect中有图片的ID关联图片Picture结合: {pictureId : {type: Schema.ObjectId, ref: 'Picture'}}

图片Picture中有用户ID管理: {userId : {type: Schema.ObjectId, ref: 'User'}}

用户User: {name : {type: String}}

现在想获取收藏列表的时候显示图片的用户的名称,就是User.name
3.8版本的mongoose的populate只能通过Collect获取到Picture,而不能获取到Picture的User

业绩是说只能获取的userId的值(用户的ID,而不是对象)
4.5版本的mongoose支持deep-populate,也就是深度关联获取
可以嵌套populate获取关联对象的子关联对象

var query = CollectModel.find({});
query.populate({

path:'pictureId',

populate:{path:'userId'}                   //嵌套populate

});
query.exec(function (err, docs) {
console.log(docs);
});

官方文档:deep-populate

原文:NODELOG

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 13,229评论 0 13
  • 原文地址 本文简单的介绍了数据库,以及如何在 Node/Express 中应用他们。之后展示如何使用Mongoos...
    前端幼儿班阅读 10,605评论 1 5
  • > "老司机开车 从不需要理由 喜欢我 就来点我吧" > [易杭贴吧--新鲜出炉的中文社区 http://tieb...
    易杭阅读 3,904评论 0 0
  • 参考深入浅出mongoose 连接mongoose mongoose连接数据库有两种方式第一种: 第二种: mon...
    bacbcc94613b阅读 14,222评论 1 27
  • 雪花飘零的日子,我带着使命来到了莱西,优美洁净的校园环境,布局合理的结构建筑,榜样引领的文化氛围,走路匆匆的老师和...
    玿玉阅读 4,386评论 0 0

友情链接更多精彩内容