You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB中比较两个字段:删除income per annum大于savings per annum的文档

在MongoDB中比较文档属性并删除符合条件的文档

要查找并删除所有"income per annum"(年收入)大于"savings per annum"(年储蓄)的文档,核心是利用MongoDB的$expr操作符实现同一文档内两个字段的比较,具体操作如下:

1. 先验证符合条件的文档

执行删除前,建议先查询确认目标文档:

db.your_collection_name.find({
  $expr: {
    $gt: ["$income per annum", "$savings per annum"]
  }
})

替换your_collection_name为你的集合名称。$expr允许在查询条件中使用聚合表达式,$gt用于判断第一个字段值是否大于第二个字段值。

2. 批量删除符合条件的文档

确认无误后,使用deleteMany批量删除:

db.your_collection_name.deleteMany({
  $expr: {
    $gt: ["$income per annum", "$savings per annum"]
  }
})

该命令会一次性删除所有满足条件的文档,执行效率更高。

3. 逐文档删除(可选)

如果需要逐个处理或记录删除的文档,可使用find配合forEach:

db.your_collection_name.find({
  $expr: {
    $gt: ["$income per annum", "$savings per annum"]
  }
}).forEach(doc => {
  // 可在此添加日志或额外处理逻辑
  db.your_collection_name.deleteOne({ _id: doc._id });
})

内容的提问来源于stack exchange,提问作者Mohammad Zeya Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:30:42