知识点:
- 首先,我们知道关系型数据库(例如 MySQL )关联查询用的是 join 语句,而文档数据库 Mongodb 原生的关联查询是使用 lookup 语句。而你用的是为 Mongodb 提供的封装库 Mongoose ,这个库提供了便利的关联查询方法 populate.
- 其次,populate 的第2个参数表示要查询的关联表里的字段,多个字段用空格分隔,select 里的参数也表示要选择的字段,多个字段用空格分隔。
- 最后,横杆 '-field' 表示不查询某个字段(反向排除字段)。
参考:
- mongodb lookup: https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/
- mongoosejs populate: https://mongoosejs.com/docs/populate.html
- mongoosejs query-select: https://mongoosejs.com/docs/api.html#query_Query-select
- 也可以参考这里的介绍 mongoose 的关联查询:https://www.cnblogs.com/laojun/p/8322448.html