前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB嵌套聚合函数使用

MongoDB嵌套聚合函数使用

原创
作者头像
玖叁叁
发布2023-04-14 15:58:47
1.2K0
发布2023-04-14 15:58:47
举报
文章被收录于专栏:玖叁叁玖叁叁

$lookup

$lookup函数可以用于在同一数据库中的不同集合之间进行关联查询,并将查询结果合并到一个文档中,例如:

代码语言:javascript
复制
db.orders.aggregate([
   {
      $lookup:
         {
           from: "users",
           localField: "user_id",
           foreignField: "_id",
           as: "user_info"
         }
   }
])

这个命令将orders集合中的user_id字段与users集合中的_id字段进行关联查询,并将查询结果合并到orders文档中的user_info字段中。

$group

$group函数可以用于将文档按照指定字段进行分组,并对分组后的数据进行聚合操作,例如:

代码语言:javascript
复制
db.orders.aggregate([
   {
      $group:
         {
           _id: { day: { $dayOfMonth: "$created_at" }, month: { $month: "$created_at" } },
           total_sales: { $sum: "$amount" }
         }
   }
])

这个命令将orders集合中的created_at字段按照日期进行分组,并计算每个分组的amount字段之和。

$project

$project函数可以用于在聚合管道中选择需要输出的字段,并对输出结果进行处理,例如:

代码语言:javascript
复制
db.orders.aggregate([
   {
      $project:
         {
           _id: 0,
           order_id: "$_id",
           user_name: "$user_info.name",
           total_sales: 1
         }
   }
])

这个命令将orders集合中的_id字段输出为order_id字段,并将user_info文档中的name字段输出为user_name字段。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • $lookup
  • $group
  • $project
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档