将新文档添加到聚合管道

时间:2021-02-08 21:34:38

标签: mongodb

我有一个“朋友”集合:

{ "user": "user1", "approved": "user2" },
{ "user": "user1", "approved": "user3" },
{ "user": "user2", "approved": "user4" }

和一个集合“内容”:

{ "user": "user3", "content": "abc" },
{ "user": "user3", "content": "def" },
{ "user": "user4", "content": "ghi" },
{ "user": "user2", "content": "jkl" }

然后我有一个朋友流,我想在其中显示我朋友的内容.. 还有我自己的(假设我是 user2)

我写了一个聚合来查找内容集合,用户的内容是什么

                {
                    "$match": { 
                        "approved": {
                            "$var": "user"
                        }
                    }
                },
                {
                    "$lookup": {
                        "from": "content",
                        "localField": "approved",
                        "foreignField": "user",
                        "as": "friendscontent"
                    }
                },
                {
                    "$unwind": "$friendcontent"
                },

但是现在要解决这个问题,我的问题是我没有将自己存储在朋友集合中..而且我也不想这样做,因为我认为这没有意义

是否可以在管道中创建一个虚假的条目,像这样添加自己

{ "user": "user2", "approved": "user2" }

在到达查找之前?

我的预期结果是:

{ "user": "user4", "content": "ghi" },
{ "user": "user2", "content": "jkl" }

0 个答案:

没有答案