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,有其他开发提出了疑问,会不会有这么长,然后我就查了一下现有数据去确认一下大概字符长度。

相关推荐
布朗克1683 分钟前
java常见的jvm内存分析工具
java·jvm·数据库
胡八一11 分钟前
SQLite / LiteDB 单文件数据库为何“清空表后仍占几 GB”?——原理解析与空间回收实战
jvm·数据库·sqlite
2401_831501731 小时前
Linux之Zabbix分布式监控篇(二)
数据库·分布式·zabbix
秋林辉2 小时前
Jfinal+SQLite处理 sqlite数据库执行FIND_IN_SET报错
jvm·数据库·sqlite
写写闲篇儿6 小时前
Python+MongoDB高效开发组合
linux·python·mongodb
巴里巴气6 小时前
MongoDB复杂查询 聚合框架
数据库·mongodb
scheduleTTe8 小时前
SQL增查
数据库·sql
浮生带你学Java9 小时前
2025Java面试题及答案整理( 2025年 7 月最新版,持续更新)
java·开发语言·数据库·面试·职场和发展
期待のcode9 小时前
图片上传实现
java·前端·javascript·数据库·servlet·交互
小毛驴8509 小时前
redis 如何持久化
数据库·redis·缓存