mongodb多表查询,五个表查询

需求是这样的,而数据是从mysql导入进来的,由于mysql不支持数组类型的数据,所以有很多关联表。药剂里找药物,需要药剂与药物的关联表,然后再找药物表。从药物表里再找药物与成分关联表,最后再找成分表。

这里就涉及到了五张表的查询,之前的文章有讲解过多表查询这块。
mongodb以及mongoose插件如何多表查询,如同时查询店铺以及里面对应的商品_mongodb 多表查询-CSDN博客

这次我们来实战一下。

复制代码
db.fangji.aggregate([
{
            $match: {id:"2"},
        },
  {
    $lookup: {
      from: "fangji_herb",
      localField: "fangji_id",
      foreignField: "fangji_id",
      as: "fangjiHerb"
    }
  },
  {
    $lookup: {
      from: "herb_details",
      localField: "fangjiHerb.herb_id",
      foreignField: "herb_id",
      as: "herbs"
    }
  },
  {
    $lookup: {
      from: "offline_ingredient_herb",
      localField: "fangjiHerb.herb_id",
      foreignField: "herb_id",
      as: "offlineIngredientHerb"
    }
  },
  {
    $lookup: {
      from: "offline_ingredient",
      localField: "offlineIngredientHerb.item_id",
      foreignField: "item_id",
      as: "offlineIngredient"
    }
  }
]);

不过最终结果还是都放在不同的数组里了,需要前端慢慢处理结构,并转换为树的结构

相关推荐
A153625513 小时前
2026 电商物流系统推荐:多渠道仓配履约数字化选型指南
大数据·数据库·人工智能
ClouGence15 小时前
CloudDM:开源免费!一站式数据库访问、SQL审核、权限与脱敏管控平台
数据库·sql·开源
(轻舟已过万重山)15 小时前
第39章 评估迭代:上线只是开始,迭代才是关键
大数据·数据库·人工智能
oradh15 小时前
Oracle参数文件(PFILE与SPFILE)维护操作总结
数据库·oracle·oracle参数·spfile·pfile
l1t15 小时前
kryonix提交的DuckDB 统一并优化标量执行器基础设施 - #24564 PR
开发语言·数据库·数据仓库·sql
鸽芷咕15 小时前
【金仓数据库征文】从 Oracle 到金仓:一次零误差的数据库国产化迁移实录
数据库·oracle
05664616 小时前
RAG 向量检索:从“查字“到“查意“
数据库·人工智能·学习·oracle
bug嘛我经常写16 小时前
dbf文件UTF-8转GBK编码,以及两编码文件互转
数据库·python
知行合一。。。16 小时前
LangGraph--03--本地服务与 Studio 调试
数据库
你不是我我17 小时前
【AI 测评】PostgreSQL主从流复制实战:数据同步、状态验证与故障切换
数据库·postgresql