博客
关于我
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/

你可能感兴趣的文章
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>