SequoiaDB 简介
安装部署
数据库实例
分布式引擎
SAC 管控中心
参考手册
常见问题及解答(FAQ)
版本信息
setGroups - 修改域包含的复制组
domain.setGroups(<options>)
SdbDomain
该函数用于修改域包含的复制组。
options ( object,必填 )
通过参数 options 可以修改域包含的复制组:
Groups ( string/array ):域包含的复制组
修改域包含的复制组时,如果涉及删除复制组操作,需保证该复制组中不存在数据,否则操作报错。
格式:Groups: ['group1', 'group2']
函数执行成功时,无返回值。
函数执行失败时,将抛异常并输出错误信息。
setGroups()
函数常见异常如下:
错误码 | 错误类型 | 可能发生的原因 | 解决办法 |
---|---|---|---|
-154 | SDB_CLS_GRP_NOT_EXIST | 复制组不存在 | 使用列表查看复制组是否存在 |
-256 | SDB_DOMAIN_IS_OCCUPIED | 域已被使用 | 使用 listCollectionSpaces() 查看域是否存在集合空间 |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.4 及以上版本
创建一个包含复制组 group1 和 group2 的域,复制组中不存在数据
> var domain = db.createDomain('mydomain', ['group1', 'group2'])
将域包含的复制组修改为 group1 和 group3
> domain.setGroups({Groups: ['group1', 'group3']})
创建一个包含复制组 group1 的域,复制组中存在数据
> var domain = db.createDomain('mydomain', ['group1'])
将域包含的复制组修改为 group2
> domain.setGroups({Groups: ['group2']})
由于 group1 中存在数据,操作报错
(nofile):0 uncaught exception: -256 Domain has been used