用于比较两个表的 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 查询的主要内容,如果未能解决你的问题,请参考以下文章

如何对比两个相同数据库表的不同

mongo联集合查询

sql数据库中的两个表的记录进行比较!并将结果写入表中!

如何用sql语句查询mongo db数据库

mongo小记

mongo 笔记