当前位置:   article > 正文

mongo 中两张表联合查询_mongodb多表关联查询

mongodb多表关联查询

表1:user 表

表2:dept表

需要查询user表中roleCodes 包含shr  的数据  然后联合dept表  需要部门名称

  1. db.user.aggregate([
  2. {
  3. $match: {
  4. roleCodes: "shr" // 匹配roleCodes包含"shr"的文档
  5. }
  6. },
  7. {
  8. $lookup: {
  9. from: "dept", // 关联的集合名称
  10. localField: "deptIds", // user表中用于关联的字段
  11. foreignField: "id", // dept表中用于关联的字段
  12. as: "deptInfo" // 关联后生成的字段名
  13. }
  14. },
  15. {
  16. $unwind: "$deptInfo" // 展开deptInfo数组
  17. },
  18. {
  19. $project: {
  20. _id: 0,
  21. account: 1,
  22. name: 1,
  23. deptName: "$deptInfo.name" // 投影显示部门名称
  24. }
  25. }
  26. ])

让最后的数据 deptName 显示成集合 不要分开显示

  1. db.user.aggregate([
  2. {
  3. $match: {
  4. roleCodes: "shr" // 匹配roleCodes包含"shr"的文档
  5. }
  6. },
  7. {
  8. $lookup: {
  9. from: "dept", // 关联的集合名称
  10. localField: "deptIds", // user表中用于关联的字段
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/56017
推荐阅读
相关标签
  

闽ICP备14008679号