MongoDB之聚合查询

MongoDB之聚合查询

MongoDB普通查询播客:https://blog.csdn.net/sinat_32366329/article/details/81784562

聚合框架是MongoDB的高级查询语言,允许我们通过转化合并由多个文档的数据来生成新的在单个文档里不存在的文档信息。通俗一点来说,可以把MongoDB的聚合查询等价于SQL的GROUP BY语句。

聚合操作过程可以理解为下面的图,每个聚合操作完后,将输出数据作为下一个聚合操作的输入数据。

聚合操作汇总

 

SQL对比聚合操作

 

$match查询条件聚合操作

普通的查询操作,对于查询用户名为jack的用户,使用find操作

聚合的查询操作,使用aggregate操作。Aggregate单词的意思是聚合,可以增加多个操作,这里使用简单的条件,$match。注意aggregate内部使用数组,因为聚合操作可以聚合多个。

 

$project,指定要输出的文档属性

普通操作对于查询后需要输出指定的对象操作如下:

$project聚合操作,指定要输出的文档属性

 

$group用于聚合管道

 

$match/$sort/$skip/$limit

这4个操作符和普通查询函数意思相同,但是用法不同而已,普通查询通过点缀的方式连接函数。

聚合操作则通过管道方式执行

 

$unwind,将数组里面的每一个值,解析为一个文档

普通查询,以及输出结果。结果like是一个数组

$unwind解析为单个文档对象后,结果like是一个一个文档,要对应上属性。

 

$out,将结果保存到另外一个集合中。这个对于集合迁移非常有用。

目前数据库中只有以下3个集合。

通过查询结果不使用$out输出到其它集合中

执行以下结果,将输出的结果通过$out输出到like集合中。这时候like不存在会自己创建

查看数据库中全部集合,多了一个like的集合

查询like集合的结果

 

结果重塑文档

         重塑文档,就是在文档查询结果返回的时候,利用mongodb提供的函数对文档处理,而不用读取到数据后人工代码去干预。

字符串函数

简单使用几个函数,其它函数都是大同小异的用法

算术运算函数

日期函数

逻辑函数

集合函数

其它函数

关注微信公众号(程序员小兔)不定期分享技术

  • 3
    点赞
  • 20
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:Age of Ai 设计师:meimeiellie 返回首页
评论 1

打赏作者

知春秋

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值