【问题标题】:MongoDB calculate date between 2 fields in documentMongoDB计算文档中2个字段之间的日期
【发布时间】:2017-07-23 09:34:07
【问题描述】:

我有一个集合,每个文档都有 2 个日期字段(开始日期/结束日期) 我想返回结束日期和开始日期之间的差异至少在 30 分钟内的文件。 谢谢!

【问题讨论】:

    标签: mongodb mongoose mongodb-query


    【解决方案1】:

    您可以使用单个 $redact 阶段的聚合并使用 $subtract 计算两个日期之间的差异:

    var dateSchema = new mongoose.Schema({
        startDate: Date,
        endDate: Date
    }, { collection: "dates" });
    
    var DateModel = db.model('DateModel', dateSchema);
    
    DateModel.aggregate({
        $redact: {
            $cond: {
                if: { $gte: [{ $subtract: ["$endDate", "$startDate"] }, 30 * 60 * 1000] },
                then: "$$KEEP",
                else: "$$PRUNE"
            }
        }
    }, function(err, res) {
        console.log(res);
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 1970-01-01
      • 2012-07-18
      相关资源
      最近更新 更多