在 MongoDB 中,可以使用聚合管道框架中的 $match 管道操作符進行時間比較和計算。
以下是一些常用的時間比較和計算方法:
$cmp 管道操作符來比較兩個日期字段的大小。例如,可以比較兩個日期字段 date1 和 date2:db.collection.aggregate([
{
$project: {
dateComparison: { $cmp: ["$date1", "$date2"] }
}
}
])
此操作將返回一個 dateComparison 字段,它是一個數字,表示 date1 和 date2 的比較結果。如果 date1 大于 date2,則返回正數;如果 date1 等于 date2,則返回 0;如果 date1 小于 date2,則返回負數。
$cmp 管道操作符和 $date 運算符來比較日期字段與當前日期的大小。例如,可以比較日期字段 date 與當前日期的大?。?/li>
db.collection.aggregate([
{
$project: {
dateComparison: { $cmp: ["$date", "$$NOW"] }
}
}
])
此操作將返回一個 dateComparison 字段,它是一個數字,表示 date 和當前日期的比較結果。如果 date 大于當前日期,返回正數;如果 date 等于當前日期,返回 0;如果 date 小于當前日期,返回負數。
$subtract 管道操作符來計算兩個日期之間的差值。例如,可以計算日期字段 date 與當前日期之間的天數差:db.collection.aggregate([
{
$project: {
daysDifference: {
$divide: [
{ $subtract: ["$$NOW", "$date"] },
1000 * 60 * 60 * 24
]
}
}
}
])
此操作將返回一個 daysDifference 字段,它是一個數字,表示 date 與當前日期之間的天數差。
這些是一些常用的方法,可以根據具體需求進行適當修改和組合使用。另外,還可以使用其他聚合操作符和運算符來實現更復雜的時間比較和計算邏輯。