检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
访问数据库 访问DataBase 当已经有一个初始化好的MongoClient实例后,通过如下方式来访问一个database,示例如下: db:= client.Database("test") 访问集合 当获取一个MongoDatabase实例后,可以通过如下命令来得到要获取的集合:
连接数据库 前提条件 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。 curl ip:port 返回“It looks like you are trying to access MongoDB over
更多教程 更多开发教程请参见官方文档。 父主题: 应用程序开发教程
驱动侧通用参数配置 连接DDS常见配置项和推荐值 connectTimeoutMS连接超时时间确保驱动程序不会在连接阶段无限期等待。推荐配置: connectTimeoutMS = 10000ms socketTimeoutMS防止TCP通信进入无限等待。推荐配置: 时间为业务最长时间的2-3倍,最低不要小于10s。
系统集合 表1 4.0版本系统集合 系统集合 说明 admin.system.roles 存储创建并分配给用户的自定义角色,以提供对特定资源的访问权限。 admin.system.users 存储用户的身份验证凭据以及分配给该用户的所有角色。 admin.system.version
常用操作 常用CRUD操作
数据库使用 连接数据库 创建和管理数据库 创建和管理集合 创建和管理索引
数据库使用规范 基础命令规范 开发规范 设计规范
管理数据库权限 默认权限机制 角色管理 用户管理
常用CRUD操作 选择对应的数据库版本后,您可以了解MongoDB常用的CRUD操作。详情请参见官方文档。 父主题: 常用操作
角色管理 DDS通过基于角色的管理来控制用户对数据访问的权限,角色共分为两类:预置角色和自定义角色。 预置角色 自定义角色 创建并管理角色 父主题: 管理数据库权限
用户管理 DDS上用户的权限都是基于角色管理,通过给用户赋予不同的角色来进行差异化的权限控制。 为了给文档数据库实例提供管理服务,您在创建数据库实例时,文档数据库服务会自动为实例创建admin、monitor和backup账户。如果试图删掉、重命名、修改这些账户的密码和权限,会导致出错。
创建和管理集合 写入/更新和删除命令的规范请参见写入/更新命令和删除命令。 创建集合 执行db.createCollection(name, options)创建集合。 db.createCollection(<name>, { capped: <boolean>,
创建和管理索引 DDS支持利用索引实现高效查询。如果没有索引,DDS必须执行集合扫描,即扫描集合中的每个文档,以选择那些与查询语句匹配的文档。如果一个查询存在适当的索引,DDS可以使用该索引来限制它必须检查的文档数量。 创建索引的规范及建议请参见索引设计规范。 写入/更新和删除命
基础命令规范 查询命令 写入/更新命令 删除命令 父主题: 数据库使用规范
默认权限机制 DDS与社区原生的版本相比,对安全进行一系列的增强,以应对越来越严峻的安全挑战。社区原生版本支持不鉴权的方式连接使用数据库的,而DDS采取默认安全策略,连接数据库必须通过鉴权,否则,无法使用数据库。 数据库实例创建后,系统会创建默认的管理员用户rwuser,但是需要需要客户指定,并满足密码复杂度要求。
设计规范 命名规范 数据库对象(库名、表名、字段名、索引名)命名建议全部使用小写字母开头,后面跟字母或者数字,数据库对象(库名、表名、字段名、索引名)名字长度建议都不要大于32字节。 数据库名称不能使用特殊字符("",.,$,\,/,*,?,~,#,:,|")和空字符\0,数据库
创建用户 操作须知 下面所有操作都对权限要求,默认rwuser用户具备所需权限,如果通过客户自定义用户进行管理,则需要关注是否具备操作权限。 使用具备权限的用户(可使用rwuser)连接到数据库实例。 通过createUser创建所需的用户,通过设置合适的角色来控制对应用户的权限
删除用户 db.dropUser(username, writeConcern) username为要从数据库中删除的用户名。 writeConcern为可选参数, 移除操作的writeConcern级别。 示例 下面是操作将reportUser1用户从产品数据库中删除。 use
预置角色 预置角色是系统自动生成的角色信息,客户端可用的预置角色名称有read,readWrite。 mongodb使用角色来管理数据库的,所以创建一个用户时就需要赋予一个角色。角色除了内置之外,也可以自定义角色。 表1 常见内置角色 角色 权限描述 包含的操作命令 read r