MongoDB Shell操作指南:数据管理与用户权限
需积分: 48 24 浏览量
更新于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数据库。
122 浏览量
143 浏览量
368 浏览量
122 浏览量
2024-09-21 上传
2018-05-24 上传
2024-11-23 上传
2025-02-12 上传
2024-12-31 上传

moon_legend_net
- 粉丝: 0
最新资源
- A7Demo.appstudio:探索JavaScript应用开发
- 百度地图范围内的标注点技术实现
- Foobar2000绿色汉化版:全面提升音频播放体验
- Rhythm Core .NET库:字符串与集合扩展方法详解
- 深入了解Tomcat源码及其依赖包结构
- 物流节约里程法的文档整理与实践分享
- NUnit3.vsix:快速安装NUnit三件套到VS2017及以上版本
- JQuery核心函数使用速查手册详解
- 多种风格的Select下拉框美化插件及其js代码下载
- Mac用户必备:SmartSVN版本控制工具介绍
- ELTE IK Web编程与Web开发课程内容详解
- QuartusII环境下的Verilog锁相环实现
- 横版过关游戏完整VC源码及资源包
- MVC后台管理框架2021版:源码与代码生成器详解
- 宗成庆主讲的自然语言理解课程PPT解析
- Memcached与Tomcat会话共享与Kryo序列化配置指南