MongoDB 按照某个字段分组,并按照分组的记录数降序排列

以下是一个示例查询:

php 复制代码
db.collection.aggregate([
  {
    $group: {
      _id: "$quoteId", // 按照quoteId字段进行分组
      count: { $sum: 1 } // 统计每个分组的记录数
    }
  },
  {
    $sort: {
      count: -1 // 按照记录数降序排序
    }
  }
])

在这个查询中:

  • group** 阶段将文档按照**quoteId** 字段进行分组,并使用**sum 操作符统计每个分组的记录数,保存为count字段。

  • $sort 阶段按照count字段降序排序,这样最多记录数的分组将排在前面。

你需要将db.collection替换为你的集合名称。

为什么会突然间学这个用法呢?

因为看到开发在mysql表里面某个字段长度设置的是2048,有其他开发提出了疑问,会不会有这么长,然后我就查了一下现有数据去确认一下大概字符长度。

相关推荐
全栈前端老曹6 分钟前
【Redis】发布订阅模型 —— Pub/Sub 原理、消息队列、聊天系统实战
前端·数据库·redis·设计模式·node.js·全栈·发布订阅模型
SQL必知必会7 分钟前
使用 SQL 构建转化漏斗
数据库·sql·数据分析
丿BAIKAL巛9 分钟前
Docker部署的Mysql数据库自动化备份
数据库·mysql·docker
爬山算法11 分钟前
MongoDB(11)MongoDB的默认端口号是多少?
数据库·mongodb
betazhou12 分钟前
Mongodb日志类型以及日志轮转
数据库·mongodb
一次旅行12 分钟前
接口自动化测试模板
数据库·python·pytest
想睡hhh24 分钟前
redis的高效工作方式
数据库·redis·缓存
、BeYourself26 分钟前
PostgreSQL 安装中文全文检索插件zhparser扩展
数据库·postgresql·全文检索
dishugj39 分钟前
【Oracle】Oracle rac1 节点ora.chad offline解决方案
数据库·oracle
木子020440 分钟前
oracle里面inner join 和left join 的区别
数据库·oracle