php mongodb lookup,mongodb的聚合,连表查询lookup

本文详细介绍了MongoDB的聚合操作,包括如何使用$project和$group来提取年份和月份数据并进行计数。同时,通过$lookup功能演示了如何进行表间的连表查询,结合$sort进行结果排序。这些技巧对于数据分析师和数据库管理员在处理MongoDB数据时非常实用。
摘要由CSDN通过智能技术生成

首先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}}

])

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

from: "要连接的表",

localField: "当前Collection中需要连接的字段",

foreignField: "外连Collection中连接查询的字段",

as: "把获取到的的值赋值给这个字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值