小编amy*_*ous的帖子

如何从 MongoDB 聚合中的不同集合添加多个 $match 条件

我有 2 个不同的 MongoDB 集合 -员工部门都包含共同的deptid。我想加入这两个集合并从两个集合中添加多个 $match 条件。

雇员:

{
    Empid: 001
    Name: "John"
    Age: 41
    Location: "Belfast"
    deptid: "D101"
}
Run Code Online (Sandbox Code Playgroud)

部门:

{
    deptID: "D101"
    deptNM: "HR"
    deptPr: "O"
}
Run Code Online (Sandbox Code Playgroud)

询问:

db.getCollection('Employees').aggregate([
    { $match:{
        deptNM: "HR",
        Age : {$gt: 40}
       }
    },
    { $lookup: {
        from: "Dept",
        localField: "deptid",
        foreignField: "deptID",
        as: "HR EMP"
        }
     },
     { $project: {
         Empid: 1, Name: 1, Location: 1, deptNM: 1, deptPr: 1
         }
     }
])
Run Code Online (Sandbox Code Playgroud)

上面的查询不起作用,还有其他方法吗?

join match mongodb aggregation-framework

2
推荐指数
1
解决办法
1019
查看次数

标签 统计

aggregation-framework ×1

join ×1

match ×1

mongodb ×1