Mongodb 猫鼬从其他集合中查找某些条件

Mongodb 猫鼬从其他集合中查找某些条件,mongodb,mongoose,aggregation-framework,lookup,Mongodb,Mongoose,Aggregation Framework,Lookup,我试图在Mongo中执行以下查询,我需要一些帮助。 我有两个收藏: 集合1-用户:{u id,name,lastname} 集合2-tutorial\u finish:{user\u id,completed} 我想选择其名称为“John Doe”且用户不得出现在collection2中的所有用户,您可以使用它“连接”两个集合中的数据,然后$match检查$lookup创建的数组是否为空: db.users.aggregate([ { $match: { name: "J

我试图在Mongo中执行以下查询,我需要一些帮助。 我有两个收藏:

集合1-
用户:{u id,name,lastname}

集合2-
tutorial\u finish:{user\u id,completed}

我想选择其
名称
为“John Doe”用户不得出现在collection2

中的所有用户,您可以使用它“连接”两个集合中的数据,然后
$match
检查
$lookup
创建的数组是否为空:

db.users.aggregate([
    {
        $match: { name: "John", lastname: "Doe" }
    },
    {
        $lookup: {
            from: "tutorial_finish",
            localField: "_id",
            foreignField: "user_id",
            as: "tutorials"
        }
    },
    {
        $match: { tutorials: [] }
    }
])