Skip to content

删除多条数据

使用 db.collection(<collection_name>) 对象中的 deleteMany 方法,您可以删除 T1 后端云应用 NoSQL 数据库中的多条数据。

通过 ID 进行删除

js
function main() {
    let filter = { _id: { $in: [db.toObjectID('abc'), db.toObjectID('123')] } }
    let deletedCount = db.collection('users').deleteMany(filter) // 删除 users 集合中 ID 为 abc 和 123 的数据
    if (deletedCount == 0) {
        return '没有数据被删除'
    }
    return '成功删除' + deletedCount + '条数据'
}

通过其它字段进行删除

js
function main() {
    let filter = { name: '王华', age: 21 }
    let deletedCount = db.collection('users').deleteMany(filter) // 删除 users 集合中 name 为 王华 并且 age 为 21 的全部数据
    if (deletedCount == 0) {
        return '没有数据被删除'
    }
    return '成功删除' + deletedCount + '条数据'
}

通过操作符条件删除

条件操作符
操作符说明
$eq等于
$ne不等于
$gt大于
$lt小于
$gte大于等于
$lte小于等于
$in在给定的数组中
$nin不在给定的数组中
$and逻辑与
$or逻辑或
$not逻辑非
$nor不匹配任何条件
$exists判断字段是否存在
$regex匹配正则表达式
$all匹配数组中包含所有指定元素的数据
$elemMatch匹配数组中至少一个元素满足所有指定条件的数据
$size匹配数组大小
$bitsAllSet所有指定位都设置为 1
$bitsAnySet指定位之一设置为 1
$bitsAllClear所有指定位都清除为 0
$bitsAnyClear指定位之一清除为 0
$text执行全文本搜索
$year, $month, $dayOfMonth, $hour, $minute, $second, $millisecond日期操作符,用于提取日期字段的各个部分。
js
function main() {
    let filter = { age: { $lt: 18 } }
    let deletedCount = db.collection('users').deleteMany(filter) // 删除 users 集合中 age 小于 18 的全部数据
    if (deletedCount == 0) {
        return '没有数据被删除'
    }
    return '成功删除' + deletedCount + '条数据'
}

删除全部数据

js
function main() {
    let filter = {}
    let deletedCount = db.collection('users').deleteMany(filter) // 删除 users 集合中的全部数据
    if (deletedCount == 0) {
        return '没有数据被删除'
    }
    return '成功删除' + deletedCount + '条数据'
}

技术支持、市场合作:wwwanghua@outlook.com