MongoDB命令大全

文章目录

MongoDB命令非常多,下面仅列出一些基础且常用的命令,并按功能分类:

连接与退出

  • 连接数据库

    bash 复制代码
    mongo [hostname]:[port]/[database]

    示例:连接本地的test数据库

    bash 复制代码
    mongo localhost:27017/test
  • 切换数据库

    javascript 复制代码
    use [database]

    示例:切换到名为mydb的数据库

    javascript 复制代码
    use mydb
  • 退出 MongoDB Shell

    javascript 复制代码
    exit

数据库操作

  • 显示所有数据库

    javascript 复制代码
    show dbs
  • 创建数据库(在插入数据时会自动创建):

    javascript 复制代码
    db
  • 删除数据库

    javascript 复制代码
    db.dropDatabase()

集合操作

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

    javascript 复制代码
    show collections
  • 创建集合(同理,在插入文档时会自动创建):

    javascript 复制代码
    db.createCollection("mycollection")
  • 删除集合

    javascript 复制代码
    db.mycollection.drop()

文档操作

  • 插入文档

    javascript 复制代码
    db.mycollection.insertOne({ "name": "John", "age": 30 })
  • 查询文档

    javascript 复制代码
    db.mycollection.find() // 查询所有文档
    db.mycollection.find({"name": "John"}) // 条件查询
  • 更新文档

    javascript 复制代码
    db.mycollection.updateOne({ "name": "John" }, { $set: { "age": 31 } }) // 更新第一条匹配文档
  • 替换文档

    javascript 复制代码
    db.mycollection.replaceOne({ "name": "John" }, { "name": "John", "age": 32, "job": "Engineer" })
  • 删除文档

    javascript 复制代码
    db.mycollection.deleteOne({ "name": "John" }) // 删除第一条匹配文档

索引操作

  • 创建索引

    javascript 复制代码
    db.mycollection.createIndex({ "name": 1 }) // 创建升序索引
  • 查看索引

    javascript 复制代码
    db.mycollection.getIndexes()

当然,以下是更全面的MongoDB命令分类:

数据查询与操作

  • 插入文档

    javascript 复制代码
    db.collection.insertOne(doc) // 插入单个文档
    db.collection.insertMany(docs) // 插入多个文档
    
    示例:
    db.users.insertOne({ name: "John", age: 30, occupation: "Engineer" })
  • 更新文档

    javascript 复制代码
    db.collection.updateOne(filter, update, options)
    db.collection.updateMany(filter, update, options)
    
    示例(递增age):
    db.users.updateOne({ name: "John" }, { $inc: { age: 1 } })
    
    (使用upsert选项,如果不存在则插入新文档):
    db.users.updateOne({ name: "Jane" }, { $set: { name: "Jane", age: 25 } }, { upsert: true })
  • 替换文档

    javascript 复制代码
    db.collection.replaceOne(filter, replacement, options)
    
    示例:
    db.users.replaceOne({ name: "John" }, { name: "John Doe", age: 31, occupation: "Manager" })
  • 删除文档

    javascript 复制代码
    db.collection.deleteOne(filter, options)
    db.collection.deleteMany(filter, options)
    
    示例:
    db.users.deleteOne({ name: "John Doe" })
  • 查询文档

    javascript 复制代码
    db.collection.find(filter, projection)
    
    示例(查询所有用户):
    db.users.find({})
    
    (查询特定用户并仅返回name字段):
    db.users.find({ name: "John Doe" }, { name: 1, _id: 0 })
  • 排序和分页

    javascript 复制代码
    db.collection.find().sort(sort).skip(numToSkip).limit(numToReturn)
    
    示例(按年龄降序获取前10名用户):
    db.users.find().sort({ age: -1 }).limit(10)

索引操作

  • 创建索引

    javascript 复制代码
    db.collection.createIndex(keys, options)
    
    示例(为name字段创建升序索引):
    db.users.createIndex({ name: 1 })
    
    (为多个字段创建复合索引):
    db.users.createIndex({ name: 1, age: -1 })
  • 列出索引

    javascript 复制代码
    db.collection.getIndexes()
    
    示例:
    db.users.getIndexes()
  • 删除索引

    javascript 复制代码
    db.collection.dropIndex(indexName)
    db.collection.dropIndexes()
    
    示例(删除名为"name_1"的索引):
    db.users.dropIndex("name_1")

集合管理

  • 统计文档数量

    javascript 复制代码
    db.collection.countDocuments(filter)
    
    示例:
    db.users.countDocuments({})
  • 查看集合状态

    javascript 复制代码
    db.collection.stats()
    
    示例:
    db.users.stats()

此外还有复制集、分片集群、用户权限管理、事务处理等高级功能的命令,由于篇幅原因在此不展开详细列举。建议参考官方文档以获取完整信息:https://docs.mongodb.com/manual/

python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)

50个开发必备的Python经典脚本(11-20)

50个开发必备的Python经典脚本(21-30)

50个开发必备的Python经典脚本(31-40)

50个开发必备的Python经典脚本(41-50)


​最后我们放松一下眼睛

相关推荐
nanzhuhe3 分钟前
sql中group by使用场景
数据库·sql·数据挖掘
消失在人海中12 分钟前
oracle sql 语句 优化方法
数据库·sql·oracle
Clang's Blog16 分钟前
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)
数据库·mysql·php·wordpr
zzc92120 分钟前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
未来之窗软件服务41 分钟前
JAVASCRIPT 前端数据库-V1--仙盟数据库架构-—-—仙盟创梦IDE
数据库·数据库架构·仙盟创梦ide·东方仙盟数据库
LjQ20401 小时前
网络爬虫一课一得
开发语言·数据库·python·网络爬虫
烙印6011 小时前
MyBatis原理剖析(二)
java·数据库·mybatis
RestCloud1 小时前
如何通过ETLCloud实现跨系统数据同步?
数据库·数据仓库·mysql·etl·数据处理·数据同步·集成平台
你是狒狒吗1 小时前
TM中,return new TransactionManagerImpl(raf, fc);为什么返回是new了一个新的实例
java·开发语言·数据库
Channing Lewis2 小时前
sql server如何创建表导入excel的数据
数据库·oracle·excel