美文网首页我爱编程
mongodb的聚合,连表查询lookup

mongodb的聚合,连表查询lookup

作者: firststep | 来源:发表于2018-03-02 16:59 被阅读0次

    首先mongodb的聚合:

    db.getCollection('表一').aggregate([
        { 
            $project: { 'year_data': {$year: "$createdAt"},
                                'month_data': {$month: "$createdAt"}
                                }
                               },
            {$group: {_id : {"year_data":"$year_data", "month_data":"$month_data"}, total : {$sum : 1}}}
               
    ])
    

    lookup:连表查询

    
    db.getCollection('表一').aggregate([
             {$lookup: {
                        from: "表二",
                        localField: "openId",
                        foreignField: "socials.openId", 
                        as: "member" 
                        }
             },
        { 
            $project: { 'year_data': {$year: "$createdAt"},
                                'month_data': {$month: "$createdAt"},
                                'member' :1
                    }
            },
            {$group: {_id : {"year_data":"$year_data", "month_data":"$month_data"},
                              total : {$sum : 1}
                     }
            },
            {$sort: {"_id.year_data":-1, "_id.month_data":-1}}
    ])
    

    其中这些字段是干什么的呢 :

    1. from: "要连接的表",
    2. localField: "当前Collection中需要连接的字段",
    3. foreignField: "外连Collection中连接查询的字段",
    4. as: "把获取到的的值赋值给这个字段

    相关文章

      网友评论

        本文标题:mongodb的聚合,连表查询lookup

        本文链接:https://www.haomeiwen.com/subject/pjgaxftx.html