当前位置: 技术文章>> MongoDB的命令行工具有哪些常用命令?

文章标题:MongoDB的命令行工具有哪些常用命令?
  • 文章分类: 后端
  • 6677 阅读
MongoDB的命令行工具是数据库管理和操作的重要组成部分,它们提供了丰富的命令来执行各种数据库操作。在MongoDB中,常用的命令行工具包括mongo和mongosh(MongoDB Shell的最新版本),以及用于备份和恢复等高级操作的mongodb-database-tools。下面将详细介绍这些工具及其常用命令。 ### 一、MongoDB Shell(mongo/mongosh) MongoDB Shell是MongoDB的交互式命令行界面,允许用户连接到MongoDB实例并执行查询、插入、更新和删除等操作。mongosh是MongoDB Shell的最新版本,相较于旧版本,它提供了更好的语法高亮、自动补全和错误提示功能。 #### 1. 连接MongoDB - 使用默认配置连接到本地MongoDB实例: ```bash mongo ``` - 使用指定主机和端口连接MongoDB实例: ```bash mongo mongodb://hostname:port ``` #### 2. 数据库操作 - **查看所有数据库**: ```bash show dbs ``` 注意:新创建的数据库在没有任何集合或数据时,不会显示在`show dbs`的输出中。 - **选择或创建数据库**: ```bash use databaseName ``` 如果数据库不存在,MongoDB会在插入数据或执行某些操作时自动创建该数据库。 - **删除当前数据库**: ```bash use databaseName db.dropDatabase() ``` #### 3. 集合操作 - **创建集合**: ```bash db.createCollection("collectionName", {size: 5120, capped: true, max: 5000}) ``` 其中,`size`指定集合的最大字节大小,`capped`表示是否为固定大小的集合,`max`指定集合中最大文档数。 - **查看当前数据库中的所有集合**: ```bash show collections ``` - **删除集合**: ```bash db.collectionName.drop() ``` #### 4. 文档操作 - **插入文档**: - 插入单条文档: ```bash db.collectionName.insertOne({key: "value"}) ``` - 插入多条文档: ```bash db.collectionName.insertMany([{key1: "value1"}, {key2: "value2"}]) ``` - **查询文档**: - 查询所有文档: ```bash db.collectionName.find() ``` - 条件查询: ```bash db.collectionName.find({key: "value"}) ``` - 格式化输出查询结果: ```bash db.collectionName.find().pretty() ``` - **更新文档**: - 更新单个文档: ```bash db.collectionName.updateOne( {query}, {$set: {key: "newValue"}} ) ``` - 更新多个文档: ```bash db.collectionName.updateMany( {query}, {$set: {key: "newValue"}} ) ``` - **删除文档**: - 删除单个文档: ```bash db.collectionName.deleteOne({query}) ``` - 删除多个文档: ```bash db.collectionName.deleteMany({query}) ``` ### 二、mongodb-database-tools mongodb-database-tools是MongoDB官方提供的一组命令行工具,用于执行备份、恢复、导入、导出、查询和转换数据等高级操作。 #### 1. 数据备份(mongodump) `mongodump`用于备份MongoDB数据库。通过指定不同的选项,可以备份整个数据库、指定数据库或集合,甚至可以根据查询条件备份部分数据。 - 备份整个数据库实例: ```bash mongodump --host hostname --port port ``` - 备份指定数据库: ```bash mongodump --host hostname --port port --db databaseName ``` - 备份指定集合,并指定输出目录: ```bash mongodump --host hostname --port port --db databaseName --collection collectionName --out backupDirectory ``` #### 2. 数据恢复(mongorestore) `mongorestore`用于从备份文件中恢复MongoDB数据库。它支持从`mongodump`生成的备份文件中恢复数据。 - 恢复整个数据库实例的备份: ```bash mongorestore --host hostname --port port /path/to/backupDirectory ``` - 恢复指定数据库的备份: ```bash mongorestore --host hostname --port port --db databaseName /path/to/databaseNameBackup ``` - 恢复指定集合的备份: ```bash mongorestore --host hostname --port port --db databaseName --collection collectionName /path/to/collectionNameBackup ``` ### 三、其他常用命令 - **查看当前数据库名称**: ```bash db.getName() ``` - **查看数据库状态**: ```bash db.stats() ``` - **查看MongoDB Shell版本**: ```bash db.version() ``` - **数据库认证**: ```bash db.auth("username", "password") ``` ### 总结 MongoDB的命令行工具提供了丰富的命令来执行各种数据库操作,从基本的数据库和集合管理到复杂的文档查询和更新,再到高级的数据备份和恢复。通过熟练使用这些工具,可以高效地管理和维护MongoDB数据库。在码小课网站上,你可以找到更多关于MongoDB的教程和实战案例,帮助你进一步提升MongoDB的使用技能。
推荐文章