MongoDB常用命令

数据库操作

显示所有数据库

复制代码
show dbs

切换/创建数据库 (如果数据库不存在则创建)

复制代码
use <database_name>

删除当前数据库

复制代码
db.dropDatabase()

查看当前数据库

复制代码
db

查看数据库状态

复制代码
db.stats()

集合操作

显示当前数据库中的所有集合

复制代码
show collections

创建集合

复制代码
db.createCollection("<collection_name>")

删除集合

复制代码
db.<collection_name>.drop()

重命名集合

复制代码
db.集合名.renameCollection("新集合名")

文档操作

插入单个文档( 属于 MongoDB 3.2+ 引入的现代 CRUD API**)**

复制代码
db.<collection_name>.insertOne({key1: value1, key2: value2, ...})

插入多个文档( 属于 MongoDB 3.2+ 引入的现代 CRUD API**)**

复制代码
db.<collection_name>.insertMany([
  {key1: value1, key2: value2},
  {key1: value3, key2: value4},
  ...
])

插入 单个文档 或 多个文档( MongoDB 早期版本的通用插入方法)

复制代码
// 插入单个文档
db.users.insert({ name: "Alice", age: 25 });

// 插入多个文档
db.users.insert([
  { name: "Bob", age: 30 },
  { name: "Charlie", age: 28 }
]);

新项目优先使用 insertOne() 和 insertMany():语法更清晰,返回值更易用。符合现代 MongoDB 的 API 设计规范。

避免混用 insert():除非需要兼容旧版本或特定场景。

查询所有文档

复制代码
db.<collection_name>.find()

排序查询结果

复制代码
db.<collection_name>.find().sort({key: 1})  // 1为升序,-1为降序

条件查询

复制代码
db.<collection_name>.find({key: value})

查询第一条记录

复制代码
db.<collection_name>.findOne()

限制返回数量

复制代码
db.<collection_name>.find().limit(5)

更新单个文档

复制代码
db.<collection_name>.updateOne(
  {filter_key: filter_value},  // 过滤条件
  {$set: {key1: new_value1, key2: new_value2}}  // 更新操作
)

更新多个文档

复制代码
db.<collection_name>.updateMany(
  {filter_key: filter_value},
  {$set: {key1: new_value1, key2: new_value2}}
)

替换文档

复制代码
db.<collection_name>.replaceOne(
  {filter_key: filter_value},
  {new_document}
)

删除单个文档

复制代码
db.<collection_name>.deleteOne({key: value})

删除多个文档

复制代码
db.<collection_name>.deleteMany({key: value})

实用命令

获取命令帮助

复制代码
db.help()

获取集合方法帮助

复制代码
db.<collection_name>.help()

查看当前数据库

复制代码
db.getName()

查看MongoDB版本

复制代码
db.version()
相关推荐
一条泥憨鱼1 分钟前
【Redis | 黑马点评】附近商铺功能源码解读
数据库·redis·缓存
念何架构之路40 分钟前
Go reflect 包:结构体反射 —Field、Tag 与 VisibleFields
java·数据库·golang
EnCi Zheng1 小时前
PostgreSQL 实战指南:安装配置、数据类型、索引选型、MVCC 事务与高可用备份全解析
数据库·sql·postgresql·索引·1024程序员节
泡海椒2 小时前
JQuick-SQL REST API 数据接入:应用层调用接口后注册分析表
数据库·sql·1024程序员节
Random Glow2 小时前
聚簇索引 vs 二级索引:回表、覆盖索引、索引下推
数据库·mysql·性能优化·innodb·1024程序员节·索引优化
handsome_sai3 小时前
mysql索引
sql·1024程序员节
要开心吖ZSH4 小时前
一次线上锁风暴复盘:号源表大范围 DELETE 的隐患与分批删除改造
数据库·mysql·行锁·1024程序员节·间隙锁·lockwaittimeout
莫叫石榴姐4 小时前
半导体业务数仓建模: Lot、Wafer、Die、Recipe、OEE、YMS 建模要点
数据仓库·sql·面试·职场和发展·矩阵·1024程序员节
l1t5 小时前
在windows中测试musql数据库
数据库·sqlite·go·1024程序员节