📅  最后修改于: 2023-12-03 15:03:01.708000             🧑  作者: Mango
在 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
操作符来减去日期。在实际应用中,可以使用该操作符对日期进行加减计算,方便了对日期的处理。