一、常用命令 1、Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、切换/创建数据库 use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库 3、查询所有数据库 show dbs; 4、删除当前使用数据库 db.dropDatabase(); 5、从指定主机上克隆数据库 db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库 6、从指定的机器上复制指定数据库数据到某个数据库 db.c MongoDB的Mongo Shell是用于与MongoDB数据库交互的命令行工具,它提供了丰富的命令和功能进行数据管理。以下是一些Mongo Shell的常用操作方法和脚本笔记: **一、常用命令** 1. **查看命令提示**:使用`help`、`db.help()`、`db.yourColl.help()`和`db.youColl.find().help()`可以获取关于不同层面的命令帮助,如全局、数据库、集合以及查询命令的帮助。 2. **切换/创建数据库**:通过`use yourDB`命令可以切换或创建数据库。当创建一个集合时,如果该数据库不存在,MongoDB会自动创建这个数据库。 3. **查询所有数据库**:使用`show dbs`命令可以列出所有已创建的数据库。 4. **删除当前数据库**:执行`db.dropDatabase()`命令会删除当前正在使用的数据库。 5. **克隆数据库**:`db.cloneDatabase("127.0.0.1")`可以将指定服务器的数据库克隆到本地当前数据库。 6. **复制数据库数据**:`db.copyDatabase("mydb", "temp", "127.0.0.1")`会将本机的mydb数据库数据复制到名为temp的新数据库中。 7. **修复当前数据库**:`db.repairDatabase()`命令检查并修复数据库的任何潜在问题。 8. **查看当前数据库**:`db.getName()`或直接输入`db`可以查看当前使用的数据库名称。 9. **显示数据库状态**:`db.stats()`返回数据库的状态信息,包括存储大小、索引大小等。 10. **查看数据库版本**:`db.version()`显示MongoDB的版本号。 11. **获取连接信息**:`db.getMongo()`返回当前数据库的连接信息,包括服务器地址。 **二、Collection(集合)操作** 1. **创建集合**:`db.createCollection("collName", {size: 20, capped: 5, max: 100})`创建一个名为collName的集合,可指定大小、是否为上限容量集合和最大文档数量。 2. **获取集合**:`db.getCollection("account")`返回名为account的集合。 3. **获取所有集合**:`db.getCollectionNames()`列出当前数据库中的所有集合。 4. **显示集合统计**:`db.printCollectionStats()`展示集合的索引、大小等统计信息。 **三、用户管理** 1. **添加用户**:`db.addUser("name")`或`db.addUser("userName", "pwd123", true)`用于创建用户,其中第三个参数可指定用户是否为只读。 2. **显示所有用户**:`show users`列出当前数据库的所有用户。 3. **删除用户**:`db.removeUser("userName")`从数据库中移除指定的用户。 **四、语句块操作** 1. **输出文本**:`print("Hello World!")`使用print函数输出文本。 2. **对象转JSON**:`tojson(new Object())`或`tojson(new Object('a'))`将对象转换为JSON格式的字符串。 3. **循环插入数据**:通过`for`循环可以批量插入数据到集合中。 4. **游标查询**:`db.users.find()`返回游标,使用`hasNext()`和`next()`遍历查询结果。 5. **forEach迭代**:`db.users.find().forEach(printjson)`对查询结果的每一项应用`printjson`函数。 6. **游标作为数组**:游标可以像数组一样通过索引访问,如`cursor[4]`获取索引为4的文档。 这些基本操作构成了MongoDB管理和操作的核心,通过Mongo Shell可以进行数据的增删改查,以及数据库的维护和管理。更深入的操作,例如CRUD(创建、读取、更新、删除)操作,通常涉及更复杂的查询和事务处理,需要进一步学习和实践。





















- 粉丝: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 异构混合阶多智能体系统(含UGV和UAV)的一致性验证:动态与静态一致性结果
- MATLAB中自适应动态规划与线性系统最优输出调节的技术解析及应用
- 基于Matlab的数字滤波器设计与FFT频谱分析程序集成解决方案
- 基于TTAO优化器的CNN-LSTM回归预测模型:MATLAB实现与应用
- 基于Matlab仿真的倒立摆控制系统设计与GUI操作指南
- 电池管理领域自适应模糊双闭环Fuzzy-PI控制策略及其在SOC主动均衡中的应用与优化 Fuzzy-PI
- 利用COMSOL构建简化的P2D锂离子电池模型:基于公开电化学参数的准二维验证 COMSOL 经典版
- 计算机控制系统设计:三阶系统控制方法探讨——最少控制系统、史密斯预估补偿器、大林算法的应用
- 射流气动噪声的近场远场计算及fluent流场求解导出、Lms声辐射计算方法与实现 四极子声源 完整版
- 物流仓储货位分配优化的遗传算法Matlab实现及其应用
- 虚拟同步发电机(VSG)单电流环控制与中点电位平衡控制、SPWM调制 · VSG v2.1
- Simulink中基于MRAS的永磁同步电机无速度传感器控制仿真模型及其应用 - MATLABSimulink
- 新能源汽车热管理1D分析模型及应用——基于KULI软件的整车级工况仿真
- Abaqus三点弯裂纹扩展模拟:骨料占比、界面强度对混凝土断裂性能的影响 · 内聚力单元 2024版
- 基于Cruise与MATLABSimulink的燃料电池汽车多点恒功率控制策略联合仿真研究
- 【24年最新算法】'NRBO-LSSVM交叉验证':第一个人使用的Matlab代码 权威版


