文档中心

SequoiaDB 简介

快速入门

安装部署

数据库实例

分布式引擎

SAC管控中心

SequoiaPerf性能分析工具

参考手册

常见问题及解答(FAQ)

版本信息

remove()

名称

remove - 删除集合中的记录

语法

db.collectionspace.collection.remove([cond], [hint], [options])

类别

SdbCollection

描述

该函数用于删除集合中的记录。

参数

参数名 参数类型 描述 是否必填
cond Json 对象 选择条件。为空时,删除所有记录,不为空时,删除符合条件的记录。
hint Json 对象 指定访问计划。
options Json 对象 可选项,详见options选项说明。

options 选项:

参数名 参数类型 描述 默认值
JustOne bool 为 true 时,将只更新一条符合条件的记录。
为 false 时,将会更新所有符合条件的记录。
false

Note:

  • 参数condhint的用法与 find() 的相同。

  • JustOne为 true 时,只能在单个分区、单个子表上执行。

返回值

函数执行成功时,将返回一个 BSONObj 类型的对象。通过该对象获取成功删除的相关信息,字段说明如下:

字段名 类型 描述
DeletedNum int64 成功删除的记录数

函数执行失败时,将抛异常并输出错误信息。

错误

错误信息记录在节点诊断日志(diaglog)中,可参考错误码

错误码 可能的原因 解决方法
-346 JustOne 跨多个分区或者多个子表 修改匹配条件,或者不使用 JustOne

当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南

版本

v2.0 及以上版本

示例

  • 删除集合所有记录

    > db.sample.employee.remove()
  • 按访问计划删除匹配 cond 条件的记录,如下操作按照索引名为“myIndex”的索引遍历集合中的记录,在遍历得到的记录中删除符合条件 age 字段值大于等于 20 的记录

    > db.sample.employee.remove( { age: { $gte: 20 } }, { "": "myIndex" } )
回到顶部