首页 > 解决方案 > 左加入 mongodb 不起作用

问题描述

在查询下面,我们用于获取数据,如何将其转换为左连接查询。因此,如果 user_content 表中不存在 id 列,则 count 的值为 0。

db.contents.aggregate([ 
    { "$lookup" : { 
          "from" : "user_content" , 
          "localField" : "_id" , 
          "foreignField" : "contentId" , 
          "as" : "user_content"}
    } , 
    { "$unwind" : { 
          "path" : "$user_content" , 
          "preserveNullAndEmptyArrays" : true}
    } , 
    { "$match" : { "user_content.liked" : true}} , 
    { "$group" : { 
          "_id" : "$_id" , 
          "popularity" : { 
              "$first" : "$popularity"} , 
              "user_content" : { "$push" : "$user_content"}
          }
    } , 
    { "$project" : { 
          "popularity" : 1 , 
          "count" : { "$size" : [ "$user_content"]}}
    } , 
    { "$skip" : 0} , 
    { "$limit" : 1000000}
]);

标签: mongodb

解决方案


推荐阅读