MongoDB Shell操作指南:数据管理与用户权限

需积分: 48 2 下载量 81 浏览量 更新于2024-09-11 收藏 10KB TXT 举报
"本文将介绍MongoDB Shell的基本操作,包括数据操作、数据库管理、用户管理和查询等关键知识点。MongoDB Shell是MongoDB数据库的交互式JavaScript环境,用于执行数据库命令和管理操作。" 在MongoDB Shell中,你可以进行多种操作来管理数据库和文档。以下是一些基本的指令: 1. 删除字段:`db.store.update({"category":"1"},{"$unset":{"stores":1}});` 这个命令用于删除`store`集合中`category`字段为`1`的所有文档的`stores`字段。 2. 查看帮助:`help`或`db.help()`等,这些命令提供有关MongoDB Shell可用的各种命令的帮助信息。 3. 切换数据库:`use yourDB;` 用于切换到名为`yourDB`的数据库。如果该数据库不存在,它会被创建。 4. 列出所有数据库:`show dbs;` 展示当前系统中存在的所有数据库。 5. 删除数据库:`db.dropDatabase();` 用于删除当前正在使用的数据库,注意这是不可逆的操作。 6. 复制数据库:`db.cloneDatabase("127.0.0.1");` 从指定的主机(本例中为localhost)复制当前数据库。 7. 从一个源复制数据库:`db.copyDatabase("mydb","temp","127.0.0.1");` 将`mydb`数据库复制到本地的`temp`数据库。 8. 修复数据库:`db.repairDatabase();` 对当前数据库进行检查和修复,解决可能存在的存储问题。 9. 获取当前数据库名称:`db.getName();` 或 `db;` 用来显示当前正在使用的数据库名称。 10. 显示数据库状态:`db.stats();` 提供关于当前数据库的统计信息,如大小、索引等。 11. 获取MongoDB版本:`db.version();` 显示MongoDB服务器的版本号。 12. 连接到MongoDB实例:`db.getMongo();` 返回与当前MongoDB连接的Mongo对象。 在MongoDB Shell中创建和管理集合(类似关系型数据库中的表): 1. 创建集合:`db.createCollection(collName,{size:20,capped:5,max:100});` 创建一个名为`collName`的集合,可设置大小、是否为固定大小(capped)以及最大文档数量。 2. 检查集合是否为固定大小:`db.collName.isCapped();` 如果集合是固定大小的,此命令将返回`true`。 3. 获取指定集合:`db.getCollection("account");` 获取名为`account`的集合。 4. 列出所有集合:`db.getCollectionNames();` 显示当前数据库中所有集合的名称。 5. 集合统计信息:`db.printCollectionStats();` 打印集合的统计信息,如大小、文档数等。 用户管理和认证: 1. 添加用户:`db.addUser("name")` 或 `db.addUser("userName","pwd123",true);` 添加新用户,第二个参数可选,设置是否为管理员。 2. 用户认证:`db.auth("userName","123123");` 使用用户名和密码进行身份验证。 3. 查看用户列表:`show users;` 列出所有数据库用户。 4. 删除用户:`db.removeUser("userName");` 从当前数据库中删除指定的用户。 查询文档: 1. 查询所有文档:`db.userInfo.find();` 类似SQL的`SELECT * FROM userInfo;`,默认每页显示20条记录,可通过`DBQuery.shellBatchSize`设置每页显示数量。 2. 分页查询:可以使用`skip()`和`limit()`方法实现分页,例如`db.userInfo.find().skip(50).limit(50);` 会跳过前50条记录并显示接下来的50条。 以上就是MongoDB Shell的一些基本操作,它们构成了MongoDB数据库日常管理和查询的基础。通过熟练掌握这些命令,你可以更有效地管理MongoDB数据库。