用于比较两个表的 SQL 到 Mongo DB 查询
Posted
技术标签:
【中文标题】用于比较两个表的 SQL 到 Mongo DB 查询【英文标题】:SQL to Mongo DB Query for comparing two tables 【发布时间】:2021-09-09 13:55:01 【问题描述】:我是 mongodb 的初学者,我有两个表,一个是“employees”,另一个是“assign_work”,这些表具有以下属性,
员工: 员工, 姓名, 电子邮件, 联系方式, 年龄
分配的工作: 任务名称, 雇员, 进步, 截止日期
我想获取员工表中分配给他们工作的所有值,这些值用 (progress = "Assigned") 表示。我为 mongodb 找到的查询是
db.employees.find("assigned_work.progress":"Assigned")
但是当我在 MongoDB 指南针中运行它时,我没有得到任何输出。
【问题讨论】:
assign_work 和 employees 集合中的empno 是一样的,是关系吗? 是的,它们是一样的。它们都包含相同的empno 【参考方案1】:对员工使用聚合
db.collection('employees').aggregate(
[
$lookup:
from:"assign_work",
localField:"empno"
foreignField:"empno"
as:"assigned_work"
,
$match:“assigned_work.progress":"Assigned"
])
【讨论】:
谢谢,我试过了,现在查询工作了,但是我没有从 mongo compass 得到输出,我通过邮递员尝试了,我得到了一个空数组 我仔细检查了我的元素列表,似乎没有问题,我也调整了缺少语法的查询 我在比赛阶段忘记了“ 运行良好,语法有错误。非常感谢你。是否可以计算每个员工的“分配”数量? 是的,只需提供 smaple json 数据以上是关于用于比较两个表的 SQL 到 Mongo DB 查询的主要内容,如果未能解决你的问题,请参考以下文章