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

如何在Windows 10的MongoDB Compass中查找auditTrail含连续DELETE的文档

在MongoDB Compass中查找含连续两个DELETE操作的auditTrail数组文档

操作步骤(Windows 10环境下的MongoDB Compass)

由于需要检测数组内的连续元素关系,普通查询无法实现该逻辑,必须使用聚合管道:

  1. 打开MongoDB Compass,连接到目标数据库和对应集合。
  2. 切换到顶部的「聚合」(Aggregation)标签页。
  3. 在聚合管道编辑器中,粘贴以下完整的聚合脚本:
[
  {
    $addFields: {
      hasConsecutiveDeletes: {
        $anyElementTrue: {
          $map: {
            input: { $range: [0, { $subtract: [{ $size: "$auditTrail" }, 1] }] },
            as: "idx",
            in: {
              $and: [
                { $eq: [{ $arrayElemAt: ["$auditTrail.command", "$$idx"] }, "DELETE"] },
                { $eq: [{ $arrayElemAt: ["$auditTrail.command", { $add: ["$$idx", 1] }] }, "DELETE"] }
              ]
            }
          }
        }
      }
    }
  },
  {
    $match: { hasConsecutiveDeletes: true }
  },
  {
    $project: { hasConsecutiveDeletes: 0 }
  }
]
  1. 点击「执行」(Execute)按钮,即可获取所有符合条件的文档。

脚本逻辑说明

  • $addFields阶段:生成临时字段hasConsecutiveDeletes,通过遍历auditTrail数组的相邻元素,检查是否存在连续两个command为DELETE的条目,最终用$anyElementTrue判断是否满足条件。
  • $match阶段:过滤出满足连续DELETE条件的文档。
  • $project阶段:可选操作,移除临时生成的hasConsecutiveDeletes字段,让返回结果更简洁。

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:27:38