博客
关于我
mongo Shell方法
阅读量:706 次
发布时间:2019-03-21

本文共 1140 字,大约阅读时间需要 3 分钟。

MongoDB 开发指南

1. 基本概念

1.1 数据库概述

MongoDB 是一个开源的NoSQL数据库管理系统,支持键值存储、文档存储和集合(Grid)的数据模型。它擅长处理非结构化数据,适合动态数据和实时应用的场景。数据库是 MongoDB 实例的顶级容器,负责管理多个集合(Database Contributions)。

1.2 集合操作

集合是最基本的数据组织单元,操作涵盖 CRUD(增删改查)以及复杂查询、索引管理等功能。集合中的数据以文档形式存储,便于灵活查询和链接。

1.3 游标与查询计划

游标用于执行复杂查询,并控制查询结果的格式和数量。查询计划缓存机制提升了数据库性能,通过存储和回放已执行的查询优化了后续操作。

2. 数据库管理

2.1 数据库交互

MongoDB 提供多种API(如,从语言中提高开发效率),但主要操作基于默认交互语言。用户可通过 Shell 提交查询和管理命令。

2.2 数据库方法

  • db.dropDatabase(): 删除当前数据库。
  • db.getSiblingDatabase(name):获取与当前数据库兄弟的关系。
  • db.print("msg"): 输出文档到标准输出。

3. 用户管理

3.1 用户权限

MongoDB 认证机制支持细粒度权限管理。用户可以通过命令如 db.createUser()创建账户,db.dropUser()删除用户。

3.2 角色管理

角色定义包含特定操作权限,用户可通过 db.createRole()创建角色,db.dropRole()删除角色,db.grantRoles()分配权限。

4. 查询优化

4.1 查询执行

数据库定期生成执行计划(Execution Plan),分析查询特征,消除性能瓶颈。

4.2 查询批处理

支持批量写入、删除提高性能,适合处理大量数据。

5. 分片管理

5.1 分片配置

通过 sh.command()定制分片替适合业务需求,如:

  • sh.splitmouseup("find specKey sort=s:基于条件分块
  • sh.splitgravity():平衡分块分布

6. 本地工具

  • mkdir . -p dirs:创建多级目录
  • **copy files`:文件复制
  • rm -rf files:删除文件
  • echo "msg":输出文本信息

7. 系统状态

MongoDB 提供系统状态监控,如 db.serverStatus() 输出实时状态。此外,system.profile 记录查询性能数据,db.copy() 用于数据复制。

8. 文档参考

完整文档可访问 MongoDB 官方文档,涵盖 operator 和 shell 方法的详细说明。

转载地址:http://icwrz.baihongyu.com/

你可能感兴趣的文章
Propel项目改为基于TensorFlow.js
查看>>
PyTorch-Tutorials【pytorch官方教程中英文详解】- 6 Autograd
查看>>
properties出现中文乱码解决方法(万能)
查看>>
Property 'submit' of object #<HTMLFormElement> is not a function
查看>>
property--staticmethod--classmethod
查看>>
propertyGrid
查看>>
propertyPlaceholderConfigurer读取配置文件
查看>>
PyTorch-Tutorials【pytorch官方教程中英文详解】- 5 Build Model
查看>>
proteus三输入与非门名字_proteus 元件名称对照表
查看>>
Protobuf - 语法、字段使用规则、注意事项
查看>>
protobuf —— 快速上手
查看>>
protobuf —— 认识和安装
查看>>
Protobuf 三个关键字required、optional、repeated的理解
查看>>
ProtoBuf 原理详解
查看>>
Protobuf 实例(java)
查看>>
ProtoBuf 实际应用(java)
查看>>
Protobuf 属性解释
查看>>
Protobuf 编译工具转换 Java 类
查看>>
protobuf使用详解
查看>>
ProtoBuf在使用protoc进行编译时提示: Required fields are not allowed in proto3
查看>>