SequoiaDB 简介
快速入门
安装部署
数据库实例
分布式引擎
SAC 管控中心
SequoiaPerf 性能分析工具
参考手册
常见问题及解答(FAQ)
版本信息
returnItem - 恢复指定的回收站项目
db.getRecycleBin().returnItem(<recycleName>, [options])
SdbRecycleBin
该函数用于恢复指定的回收站项目。
recycleName( string,必填 )
需恢复的回收站项目名称
options( object,选填 )
通过 options 可以设置其他选填参数:
Enforced( boolean ):是否删除冲突的集合或集合空间,默认为 false,表示对冲突进行报错处理
该参数取值为 true 表示在恢复回收站项目时,如果存在相同名称或相同 uniqueID 的集合或集合空间,将强制删除原有的集合或集合空间,以解决冲突。
格式:Enforced: true
函数执行成功时,将返回一个 BSONObj 类型的对象。通过该对象获取恢复后的集合空间或集合的名称。
函数执行失败时,将抛异常并输出错误信息。
returnItem()
函数常见异常如下:
错误码 | 错误类型 | 可能发生的原因 | 解决办法 |
---|---|---|---|
-384 | SDB_RECYCLE_ITEM_NOTEXIST | 回收站项目不存在 | 通过 SdbRecycleBin.list() 检查回收站项目是否存在 |
-385 | SDB_RECYCLE_CONFLICT | 回收站项目冲突 | 通过 returnItemToName() 将需要恢复的项目重命名,或指定参数 Enforced 为 true |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v3.6 及以上版本
查看当前已存在的回收站项目
> db.getRecycleBin().list() { "RecycleName": "SYSRECYCLE_9_21474836481", "RecycleID": 9, "OriginName": "sample.employee", "OriginID": 21474836481, "Type": "Collection", "OpType": "Drop", "RecycleTime": "2022-01-24-12.04.12.000000" }
恢复名为“SYSRECYCLE_9_21474836481”的回收站项目
> db.getRecycleBin().returnItem("SYSRECYCLE_9_21474836481") { "ReturnName": "sample.employee" }