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 } }  
])
相关推荐
这个DBA有点耶5 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
SelectDB6 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB6 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB6 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析
这个DBA有点耶8 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
ly768911 小时前
PostgreSQL 备份恢复策略:pg_basebackup、WAL 归档与 PITR 在企业 Java 系统中的落地
java·数据库·postgresql·pitr·pg_basebackup·wal 归档
小羊没烦恼!12 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
注塑机数据采集联网12 小时前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
黄俊懿12 小时前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构