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

相关推荐
Alex艾力的IT数字空间13 分钟前
完整事务性能瓶颈分析案例:支付系统事务雪崩优化
开发语言·数据结构·数据库·分布式·算法·中间件·php
wangchen_01 小时前
MySQL复合查询
数据库·mysql
hygge9991 小时前
MySQL 全体系深度解析(存储引擎、事务、日志、MVCC、锁、索引、执行计划、复制、调优)
数据库·经验分享·mysql·adb·面试
百***65952 小时前
PON架构(全光网络)
网络·数据库·架构
Databend2 小时前
Databend SQL 存储过程使用指南
数据库
冒泡的肥皂2 小时前
说下数据存储
数据库·后端·mysql
码河漫步3 小时前
win11安装mysql社区版数据库
数据库·mysql
Wang's Blog3 小时前
MySQL: 存储引擎深度解析:Memory与Federated的特性与应用场景
数据库·mysql
学习中的程序媛~3 小时前
Spring 事务(@Transactional)与异步(@Async / CompletableFuture)结合的陷阱与最佳实践
java·数据库·sql
员大头硬花生4 小时前
九、InnoDB引擎-MVCC
数据库·sql·mysql