• setAttributes()
    • 语法
    • 参数描述
    • 返回值
    • 错误
    • 示例

    setAttributes()

    语法

    domain.setAttributes( <options> )

    修改域的属性。

    参数描述

    • options ( Object必填 )

    需要修改的属性列表。

    • Groups:包含的复制组。

    格式:Groups : [ 'data1', 'data2' ]

    • AutoSplit:自动切分。

    格式:AutoSplit : true | false

    Note:

    • 删除复制组前必须保证其不包含任何数据。
    • AutoSplit 的更改不对之前创建的集合和集合空间产生影响。

    返回值

    无返回值,出错抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过getLastError()获取错误码。关于错误处理可以参考常见错误处理指南。

    错误

    错误码可能的原因解决方法
    -154分区组不存在使用列表查看分区组是否存在
    -215域已经在使用listDomains()查看域是否存在
    -256域非空使用listCollections()查看域是否存在集合

    错误码

    示例

    • 首先创建一个域,包含两个复制组,开启自动切分
    1. > var domain = db.createDomain( 'mydomain', ['data1', 'data2'], { AutoSplit: true } )
    • 从域中删除一个复制组 data2,添加另一个复制组 data3,最后域中包含 data1 和 data3 两个复制组
    1. > domain.setAttributes( { Groups: ['data1', 'data3'] } )
    • 首先创建一个域,包含一个复制组,复制组中包含表 foo.bar。
    1. > var domain = db.createDomain( 'mydomain', ['group1'] )
    • 从域中删除原复制组,添加另一个复制组,将因把拥有数据的 group1 从域中删除而报错
    1. > domain.setAttributes( { Groups: ['group2'] } )
    2. (nofile):0 uncaught exception: -256
    3. Domain is not empty