MongoDB Compass 的教程

第一步:建立连接

点击Save&Connect

增加数据库:

填写数据库名字和文档名字并点击Create Database

删除文档:

创建文档:

插入文档数据

复制代码
{Id:1001,name:"cyl",age:21}

插入成功:

更改原有数据

删除原有数据

MongoDB的聚合查询

假设我们有一个存储员工信息的 MongoDB 集合,每个文档包含以下字段:name(姓名)、department(部门)、salary(薪水)、age(年龄)、tags(技能标签,是一个数组)。

现在,让我们通过一个简单的聚合查询来找出每个部门的平均薪水,并按平均薪水降序排列。以下是一个完整的简单例子:

复制代码
db.employees.aggregate([
  {
    $group: {
      _id: "$department",
      averageSalary: { $avg: "$salary" }
    }
  },
  {
    $sort: { averageSalary: -1 }
  }
])

这个聚合查询由两个阶段组成:

  1. $group 阶段: 将文档按照 department 字段分组,然后计算每个组的平均薪水。

  2. $sort 阶段: 对结果按照平均薪水降序排序。

通过执行这个聚合查询,你将得到一个按照部门分组的结果集,其中包含每个部门的平均薪水,并按照平均薪水降序排列。

记住**$sort取值只有1和-1,1是升序,-1是降序**

聚合查询

先插入几条数据:

复制代码
[{
  "_id": {
    "$oid": "65a3f8f1919b976ec4017cda"
  },
  "id": "1001",
  "name": "zhangsan",
  "saray": 2000
},
{
  "_id": {
    "$oid": "65a3f931919b976ec4017ce0"
  },
  "id": "1002",
  "name": "wangwu",
  "saray": 1000
},
{
  "_id": {
    "$oid": "65a3f94f919b976ec4017ce2"
  },
  "id": "1004",
  "name": "wu",
  "saray": 7000
}]

复制代码到一个json文件里,然后导入即可。

升序

降序

相关推荐
AllData公司负责人14 小时前
AllData 可定义数据中台完成信创适配|银河麒麟 + 海光X86 CPU / 华为鲲鹏ARM CPU+ OceanBase / 人大金仓国产化环境部署落地
大数据·arm开发·数据库·人工智能·oceanbase·kingbase
bksczm14 小时前
C++Redis开发(Ubuntu 22.04)
数据库·redis·缓存
zhangjw3415 小时前
1-6 PostgreSQL 特色类型实战:数组、JSON & JSONB、枚举、范围类型
数据库·postgresql
杨云龙UP15 小时前
Oracle 同义词(SYNONYM)详解及 Toad for Oracle SQL 智能补全配置实战
运维·数据库·sql·oracle·同义词·toad·toad for oracle
倔强的石头_15 小时前
MongoDB迁移的新选项:在金仓KES上,用SQL管理文档数据
数据库
loulanyue_15 小时前
AI Agent记忆从不是向量库:Oracle拆解读写分离与记忆晋升门,终结无脑存聊天的伪智能——读Wojtek Pluta演讲
数据库·人工智能·oracle
曼岛_15 小时前
[图解密码学]第5章 对称加密基础
java·数据库·密码学
Decay__15 小时前
17_MySQL 监控体系构建 —— mysqld_exporter + Prometheus + Grafana 全栈实战
运维·数据库·sql·mysql·架构
ss27316 小时前
不用向量库,我用 MySQL 跑通了蔬菜 RAG--基于 RuoYi-AI 的蔬菜种植知识库 + 智能咨询系统,普通开发机就能跑
数据库·人工智能·智慧农业·ruoyi·知识库·rag
Franciz小测测16 小时前
MySQL 增量备份实践:文件都在,为什么仍可能恢复失败?
数据库·mysql·binlog