快速入门
安装
基本操作
数据模型
SQL引擎
系统架构
数据库管理
连接器
驱动
参考手册
故障排除
SAC
版本信息
db.collectionspace.collection.alter(<options>)
修改集合的属性。
参数名 | 参数类型 | 描述 | 是否必填 |
---|---|---|---|
options | Json 对象 | 修改的属性。 | 是 |
参数名 | 描述 | 格式 |
---|---|---|
ReplSize | 一次写请求完成副本数。 | ReplSize: <int32> |
ShardingKey | 分区键。 | ShardingKey:{<字段1>:<1|-1>,[<字段2>:<1|-1>, ...]} |
ShardingType | 分区方式,默认为 hash 分区。 | ShardingType:"hash"|"range" |
Partition | 分区数,hash 分区时填写,代表了 hash 分区的个数。其值必须是2的幂。范围在[23 , 220]。 | Partition:<分区数> |
Note:
- ShardingKey,ShardingType,Partition 的使用方式见 db.collectionspace.createCL()。
- 分区集合不能修改与分区相关的属性。
- 修改为分区集合后需要手动进行 split。
无返回值,出错抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过getLastError()获取错误信息码。
错误码 | 可能的原因 | 解决方法 |
---|---|---|
-32 | 选项暂不支持 | 检查当前集合属性,如果是分区集合不能修改与分区相关的属性。 |
创建一个普通集合
> db.foo.createCL('bar')
修改为分区集合
> db.foo.bar.alter( { ShardingKey: { a: 1 }, ShardingType: "hash" } )