Mongo 常用操作命令

一、查询都有哪些数据库

复制代码
show dbs

二、切换到指定数据库

复制代码
use database

三、删除数据库

注意:需要先切换到指定数据库,再执行删除指令

复制代码
db.dropDatabase()

四、显示数据库都有哪些数据表

复制代码
show tables

五、查看整个数据库的统计情况

复制代码
db.stats()

六、查询某个集合(表)的统计信息

复制代码
db.collection.stats()

七、插入数据

  • db.collection_name.insert(document):向指定集合中插入一个或多个文档。
  • db.collection_name.insertOne(document):向指定集合中插入一个文档。
  • db.collection_name.insertMany([document1, document2, ...]):向指定集合中插入多个文档。

八、查询数据

  • db.collection_name.find():查询集合中的所有文档。
  • db.collection_name.find({query}):根据查询条件查询文档。
  • db.collection_name.findOne({query}):查询并返回符合条件的第一个文档。
  • db.collection_name.find().count():计算查询结果中的文档数量。
  • db.collection_name.find().sort({field: 1|-1}):按指定字段进行排序,1表示升序,-1表示降序。
  • db.collection_name.find().limit(number):限制查询结果返回的文档数量。
  • db.collection_name.find().skip(number):跳过指定数量的文档后返回查询结果。

九、更新数据

  • db.collection_name.update(query, update, options):更新符合条件的文档。
  • db.collection_name.updateOne(query, update, options):更新符合条件的第一个文档。
  • db.collection_name.updateMany(query, update, options):更新所有符合条件的文档。
  • db.collection_name.replaceOne(query, replacement, options):替换符合条件的第一个文档。

十、删除数据

  • db.collection_name.remove(query):删除符合条件的文档。
  • db.collection_name.deleteOne(query):删除符合条件的第一个文档。
  • db.collection_name.deleteMany(query):删除所有符合条件的文档。

十一、索引

  • db.collection_name.createIndex(keys, options):在指定集合上创建索引。
  • db.collection_name.getIndexes():获取集合上的所有索引信息。
  • db.collection_name.dropIndex(indexName):删除指定索引。
  • db.collection_name.dropIndexes():删除集合上的所有索引。

十二、聚合操作

MongoDB的聚合操作允许您处理数据并返回计算结果,而不仅仅是检索数据。这些操作是通过db.collection.aggregate()方法执行的,它接受一个聚合管道作为参数。聚合管道是一个包含多个阶段(stage)的数组,每个阶段对文档进行转换,并将结果传递给下一个阶段。以下是一些常用的聚合操作符和概念:

  • $group: 将文档分组,并对每个组应用聚合表达式。
  • $match: 过滤文档,只保留符合条件的文档。
  • $sort: 对文档进行排序。
  • $project: 修改文档的结构,例如选择字段、添加计算字段等。
  • $unwind: 将数组字段中的每个元素拆分为单独的文档。

示例

复制代码
db.orders.aggregate([  
  { $match: { status: "A" } },  
  { $group: { _id: "$customer_id", total: { $sum: "$amount" } } },  
  { $sort: { total: -1 } }  
])
相关推荐
2401_8822737210 分钟前
如何通过MongoDB GridFS实现文件的分块下载
jvm·数据库·python
weixin_5806140010 分钟前
CSS如何实现动态背景色线性渐变_利用CSS变量控制渐变方向
jvm·数据库·python
施棠海11 分钟前
SQLite姓氏数据库首字母检索开发
数据库·oracle
weixin_4087177711 分钟前
mysql如何查询所有列_mysql select星号性能分析
jvm·数据库·python
a95114164212 分钟前
mysql权限表查询性能如何优化_MySQL系统权限缓存原理
jvm·数据库·python
zxrhhm14 分钟前
Oracle RAC 日常监控脚本
数据库·oracle
m0_7489203615 分钟前
Redis怎样防止主从节点淘汰行为不一致
jvm·数据库·python
misL NITL16 分钟前
数据库操作与数据管理——Rust 与 SQLite 的集成
数据库·rust·sqlite
2401_8359568116 分钟前
SQL中如何查找特定的空值行:WHERE IS NULL深度解析
jvm·数据库·python
若兰幽竹16 分钟前
【从零开始编写数据库系统:架构设计与实现】第3章 SQL解析:词法与语法分析
数据库·sql·教学数据库·数据库内核开发