MongoDB常用命令大全

本文详述了MongoDB的各种操作,包括数据库、集合、文档的创建与管理,条件操作符、$type操作符的使用,以及Limit、Skip、排序、索引、聚合、复制、分片、备份与恢复、监控等高级特性。同时,介绍了MongoDB的全文索引、正则表达式、GridFS存储大文件的方法,深入解析了MongoDB的原子操作、索引策略和MapReduce功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

一、数据库相关

1.连接

(1)完整

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

(2)使用默认端口

mongodb://localhost

(3)使用shell

mongo

2.查询数据库

(1)查询所有数据库

show dbs

3.创建数据库

use database_name

如果数据库不存在,则创建并切换到该数据库,存在则切换到该数据库

(1)已存在

(2)不存在

可以看到,创建的 test数据库并没有显示,需要插入数据才能显示

4.删除数据库

先切换到指定数据库,然后执行以下命令

db.dropDatabase()

二、集合相关

1.创建集合

切换到指定数据库,然后执行如下命令

db.createCollection(name, options)

 说明:

name 要创建的集合名称,可选参数,指定有关内存大小及索引的选项

options参数:capped如果为true则创建固定集合(有着固定大小的集合);size为固定集合指定一个最大值,如果capped为true需要指定该字段;max 指定固定集合中包含文档的最大数量

带参数的集合

插入文档会自动创建集合

 2.查看所有集合

  先切换到指定数据库,然后执行如下命令

show collections

3.删除集合

db.COLLECTION_NAME.drop()

成功删除则返回true,否则返回false 

三、文档相关

1. 插入文档

使用insert()或insertOne()或insertMany()方法插入文档

db.COLLECTION_NAME.insert(document)

 插入单条数据 

db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)

插入多条数据 

db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)

document: 要写入的文档

writeConcern:写入策略,默认为1,即要求默认写操作,0是不要求

ordered:是否按照顺序写入,默认为true,按照顺序写入

2.查询文档

db.COLLECTION_NAME.find(query, projection)
  • query :可选,使用查询操作符指定查询条件
  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

pretty()以格式化方法显示文档

3.更新文档

使用update()和save()方法来更新集合中的文档

(1)update()方法

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

(2)save()方法

save() 方法通过传入的文档来替换已有文档,_id 主键存在就更新,不存在就插入。

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

参数说明:

  • document : 文档数据。
### MongoDB命令列表及用法 #### 启动MongoDB服务 为了启动MongoDB,可以使用如下命令来初始化并运行该服务[^1]: ```bash mongod --dbpath /path/to/data/db ``` 对于已经配置好环境变量的情况,在大多数情况下仅需输入`mongod`即可启动默认实例。 #### 进入Mongo Shell 连接至正在运行中的MongoDB服务器,可以通过mongo shell实现: ```bash mongo ``` 这会尝试连接到localhost上的默认端口(27017)[^2]。 #### 数据库操作命令 创建或切换当前使用的数据库可通过`use`语句完成: ```javascript use myNewDatabase; ``` 查看现有数据库列表可利用`show dbs`指令;而要获取有关选定数据库的信息,则能调用`db.stats()`方法。 #### 集合管理 展示指定数据库内的所有集合名称适用`show collections`; 创建新集合则通过`db.createCollection(name, options)`函数达成. 针对已有集合执行删除动作时采用`db.collection.drop()`. 此外还有更多关于索引建立、文档增删改查等功能性的命令等待探索[^3]. #### 备份与恢复 当涉及到数据的安全保存或者迁移工作之时,mongodump工具能够帮助导出整个数据库或是单个集合的数据文件; 对应地,mongorestore允许从这些备份中重新导入数据回目标位置. ```bash # 导出名为'test'的数据库下的全部内容到指定路径下 mongodump -h 127.0.0.1:27017 -d test -o /data/mongodb/dump # 如果存在认证需求的话还需要加上用户名密码参数 mongodump --host=127.0.0.1:27017 -db=database1 -o=/data/mongodb/dump \ -u=用户名 -p=密码 --authenticationDatabase=admin # 使用mongorestore进行数据还原前最好确认目的地址为空以免覆盖重要资料 mongorestore --host=127.0.0.1:27017 --db=database1 --dir=/data/mongodb/db1 \ -u=用户名 -p=密码 --authenticationDatabase=admin ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值