赞
踩
alter - 修改集合的属性。
db.collectionspace.collection.alter(<options>)
修改集合的属性。
请参考 db.collectionspace.collection.setAttributes()
options
( Object, 必填 )
通过options
参数可以修改集合属性,如指定集合的分区键, 是否以压缩的形式插入数据等。可组合使用 options
的如下选项:
ReplSize
( Int32 ):写操作需同步的副本数。其可选取值如下:
格式:ReplSize: <num>
ShardingKey
( Object ):分区键。
格式:ShardingKey:{<字段1> : <1|-1>,[<字段2> : <1|-1>, ...]}
ShardingType
( String ):分区方式,默认为 hash 分区。其可选取值如下:
格式:ShardingType : "hash" | "range"
Partition
( Int32 ):分区数。仅当选择 hash 分区时填写, 代表了 hash 分区的个数。其值必须是2的幂。 范围在[2^3,2^20]。
格式:Partition : <分区数>
AutoSplit
( Bool ):标识新集合是否开启自动切分功能
格式:AutoSplit : true | false
EnsureShardingIndex
( Bool ):标识是否创建分区索引
Compressed
( Bool ):标识集合是否开启数据压缩功能。
格式:Compressed : true | false
CompressionType
( String ):集合的压缩算法,"snappy" 或者 "lzw"。
格式:CompressionType : "snappy" | "lzw"
StrictDataMode
( Bool ):标识对该集合的操作是否开启严格数据类型模式
格式:StrictDataMode : true | false
AutoIncrement
( Object ):自增字段
格式:AutoIncrement : <option>
Note:
成功:无。
失败:抛出异常。
alter()
函数常见异常如下:
错误码 | 错误类型 | 可能的原因 | 解决方法 |
---|---|---|---|
-32 | SDB_OPTION_NOT_SUPPORT | 选项暂不支持 | 检查当前集合属性,如果是分区集合不能修改与分区相关的属性。 |
当异常抛出时,可以通过getLastError()获取错误码, 或通过getLastErrMsg()获取错误信息。 可以参考常见错误处理指南了解更多内容。
v1.12及以上版本。
创建一个普通集合,然后将该集合修改为分区集合。
- db.sample.createCL('employee')
-
- > db.sample.employee.alter( { ShardingKey: { a: 1 }, ShardingType: "hash" } )
创建一个普通集合,然后将该集合修改为lzw压缩
- > db.sample.createCL('employee')
- > db.sample.employee.alter( { CompressionType:'lzw' } )
相关文章请点击阅读
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。