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

MongoDB两个日期相减返回秒数 整合$in筛选指定ID的实现方法

你只需要在原有聚合查询的管道最前面添加$match阶段,写入_id的过滤条件即可,整合后的查询语句如下:

db.mycollection.aggregate([
    // 过滤指定_id的文档
    {
        "$match": {
            "_id": {
                $in: ["123", "234"]
            }
        }
    },
    // 计算处理耗时的原有逻辑
    {
        "$project": {
            "receivedTime": 1,
            "deliveryTime": 1,
            "processedTime": {
                "$divide": [
                    {
                        "$subtract": ["$deliveryTime", "$receivedTime"]
                    },
                    1000 // 单位为秒,调整分母可切换单位:60000=分钟,3600000=小时
                ]
            }
        }
    }
])

说明

  • MongoDB聚合管道按定义的顺序依次执行,先做$match过滤可以减少后续阶段的计算数据量,提升查询效率
  • 最终返回结果仅包含你指定的两个_id对应的文档,processedTime字段的计算规则和你原有逻辑完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:09:00