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

时间:2020-02-21 02:45:18

标签: mongodb

我有一个名为Post的集合,该集合具有一个名为makeupProduct的ID字段。此ID字段是我的MakeupProduct集合的外键。

在MongoDB指南针中,我正在尝试查找所有帖子

  1. 其中productUrl === null
  2. 随其填充化妆记录

这可能吗?

我把第一个过滤器过滤掉了,但是不知道其余的怎么写。

enter image description here

1 个答案:

答案 0 :(得分:1)

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