📜  mongodb 减去日期 (1)

📅  最后修改于: 2023-12-03 15:03:01.708000             🧑  作者: Mango

MongoDB 减去日期

在 MongoDB 中,可以通过 $subtract 操作符来减去日期。

基本语法
db.collection.aggregate([
   { $project: {
      new_date: { $subtract: [ <date1>, <date2> ] }
   }}
])

其中,<date1><date2> 是要相减的两个日期。

实例演示

假设我们有以下一些文档:

{
   "_id": 1,
   "date1": ISODate("2019-01-01T00:00:00.000Z"),
   "date2": ISODate("2018-12-01T00:00:00.000Z")
}
{
   "_id": 2,
   "date1": ISODate("2019-02-01T00:00:00.000Z"),
   "date2": ISODate("2018-12-01T00:00:00.000Z")
}

接下来,我们要求出 date1 - date2 的结果。

可以使用以下聚合管道查询:

db.collection.aggregate([
  {
    $project: {
      _id: 0,
      date1: 1,
      date2: 1,
      diff: {
        $subtract: ["$date1", "$date2"]
      }
    }
  }
])

查询结果如下所示:

{ "date1" : ISODate("2019-01-01T00:00:00Z"), "date2" : ISODate("2018-12-01T00:00:00Z"), "diff" : NumberLong(2678400000) }
{ "date1" : ISODate("2019-02-01T00:00:00Z"), "date2" : ISODate("2018-12-01T00:00:00Z"), "diff" : NumberLong(5097600000) }

其中,diff 字段是 date1 - date2 的结果,以毫秒表示。

注意:在 $subtract 操作符中,被减数要写在前面,减数要写在后面。

总结

本篇介绍了如何在 MongoDB 中使用 $subtract 操作符来减去日期。在实际应用中,可以使用该操作符对日期进行加减计算,方便了对日期的处理。