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

相关推荐
catoop7 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
Web极客码7 小时前
我用 Claude 分析 Redis 哨兵日志,实现跨机房数据不一致自动对齐
数据库·redis·php
库库的数据库笔记7 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
姚远Oracle ACE8 小时前
为什么无法连接到 PostgreSQL?
数据库·postgresql
ss2738 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss2738 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
Henry-SAP9 小时前
SAP PP模块全景概览
数据库
喜欢吃豆10 小时前
Better Auth 深度解析:从用户认证到企业级身份基础设施
数据库·架构·权限·多租户
其实防守也摸鱼10 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全