当前位置: 首页 > news >正文

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"}}
]);

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

http://www.lryc.cn/news/489326.html

相关文章:

  • Git Bash + VS Code + Windows11 Git命令报错莫名奇妙的问题
  • 湛江市社保卡申领指南:手机获取电子照片回执单号
  • Linux离线安装Docker命令,简单镜像操作
  • 【Node.js】Node.js 和浏览器之间的差异
  • 基于MySQL的 CMS(内容管理系统)的表结构设计
  • 2.13 转换矩阵
  • 【C语言】遗传算法matlab程序
  • Java LinkedList 详解
  • mac-mini的时间机器,数据备份到alist 中的网盘
  • 【HarmonyOS】鸿蒙应用加载读取csv文件
  • Java retainAll() 详解
  • Redis的基本数据类型
  • 通过vite+vue3+pinia从0到1搭建一个uniapp应用
  • Linux的桌面
  • Easyexcel(5-自定义列宽)
  • 操作系统实验 C++实现死锁检测算法
  • 小鹏汽车智慧材料数据库系统项目总成数据同步
  • 1、HCIP之RSTP协议与STP相关安全配置
  • Linux云服务器docker使用教程
  • 如何从android的webview 取得页面上的数据
  • VTK知识学习(12)- 读取PNG图像
  • Springboot项目搭建(3)-更改用户信息与文件上传
  • Docker1:认识docker、在Linux中安装docker
  • python成绩分级 2024年6月python二级真题 青少年编程电子学会编程等级考试python二级真题解析
  • android 如何获取当前 Activity 的类名和包名
  • Spring Boot 项目 myblog 整理
  • uniapp 城市选择插件
  • 测试工程师如何在面试中脱颖而出
  • Mesh路由组网
  • LeetCode131:分割回文串