MongoDB Compass:如何执行 SQL 连接/猫鼬填充?

big*_*ato 5 mongodb

我有一个名为 的集合Post,其中有一个名为 的 ID 字段makeupProduct。这个 ID 字段是我MakeupProduct收藏的外键。

在 MongoDB Compass 中,我试图找到所有帖子

  1. 哪里productUrl === null
  2. 与它一起填充 Makeup 记录

这可能吗?

我有第一个过滤器,但不知道如何写其余的。

在此处输入图片说明

Dĵ *_*ΛψΚ 3

db.Post.aggregate([
    {
        $match: {
            productUrl: null
        }
    },
    {
        $lookup: 
        {
            from: "MakeupProduct",
            localField: "makeupProduct",
            foreignField: "_id",
            as: "makeupProduct"
        }
    },
    {
        $set: {
            makeupProduct: {
                $arrayElemAt: ["$makeupProduct", 0]
            }
        }
    }
])
Run Code Online (Sandbox Code Playgroud)