SequoiaDB 简介
快速入门
安装部署
数据库实例
分布式引擎
SAC 管控中心
SequoiaPerf 性能分析工具
参考手册
常见问题及解答(FAQ)
版本信息
dropItem - 删除指定的回收站项目
db.getRecycleBin().dropItem(<recycleName>, [recursive], [options])
SdbRecycleBin
该函数用于删除指定的回收站项目。
recycleName( string,必填 )
需删除的回收站项目名称
recursive( boolean,选填 )
删除集合空间类型的回收站项目时,是否删除该集合空间关联的集合回收站项目,默认为 false,表示不删除关联项目并返回错误信息
options( object,选填 )
通过 options 可以设置其他选填参数:
Async( boolean ):是否使用异步模式删除回收站项目,默认为 false,表示不使用异步模式
格式:Async: true
函数执行成功时,无返回值。
函数执行失败时,将抛异常并输出错误信息。
dropItem()
函数常见异常如下:
错误码 | 错误类型 | 可能发生的原因 | 解决办法 |
---|---|---|---|
-384 | SDB_RECYCLE_ITEM_NOTEXIST | 回收站项目不存在 | 通过 SdbRecycleBin.list() 检查回收站项目是否存在。 |
-385 | SDB_RECYCLE_CONFLICT | 回收站项目冲突 | 如果操作为“删除集合空间类型的回收站项目”,需指定参数 recursive 为 true |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.6 及以上版本
查看当前已存在的回收站项目
> db.getRecycleBin().list() { "RecycleName": "SYSRECYCLE_8_17179869185", "OriginName": "sample1.employee1", "Type": "Collection", ··· } { "RecycleName": "SYSRECYCLE_9_12884901889", "OriginName": "sample.employee", "Type": "Collection" ··· } { "RecycleName": "SYSRECYCLE_10_3", "OriginName": "sample", "Type": "CollectionSpace", ··· }
删除名为“SYSRECYCLE_8_17179869185”的集合回收站项目
> db.getRecycleBin().dropItem("SYSRECYCLE_8_17179869185")
删除名为“SYSRECYCLE_10_3”的集合空间回收站项目
> db.getRecycleBin().dropItem("SYSRECYCLE_10_3")
因回收站中存在与集合空间 sample 关联的集合回收站项目,删除操作报错
(shell):1 uncaught exception: -385 Recycle bin item conflicts: Failed to drop collection space recycle item [origin sample, recycle SYSRECYCLE_10_3], there are recursive collection recycle items inside
重新执行删除操作并指定参数 recursive 为 true
> db.getRecycleBin().dropItem("SYSRECYCLE_10_3", true)
确认项目删除成功
> db.getRecycleBin().list()