翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
$dateDiff
バージョン 5.0 の新機能
Elastic クラスターではサポートされていません。
$dateDiff 集計演算子は、指定された単位で 2 つの日付の差を計算します。開始日と終了日の間の単位境界の数を返します。
パラメータ
-
startDate: 開始日の式。 -
endDate: 終了日式。 -
unit: 差の時間単位。サポートされている単位は、year、、quarter、month、week、day、hourminutesecond、、および ですmillisecond。
例 (MongoDB シェル)
次の例は、 $dateDiff演算子を使用して、注文から配送までの日数を計算する方法を示しています。
サンプルドキュメントを作成する
db.shipments.insertMany([ { orderId: 1001, orderDate: ISODate("2025-01-10T08:00:00Z"), deliveryDate: ISODate("2025-01-15T14:30:00Z") }, { orderId: 1002, orderDate: ISODate("2025-02-05T10:00:00Z"), deliveryDate: ISODate("2025-02-12T16:45:00Z") } ]);
クエリの例
db.shipments.aggregate([ { $project: { orderId: 1, orderDate: 1, deliveryDate: 1, daysToDeliver: { $dateDiff: { startDate: "$orderDate", endDate: "$deliveryDate", unit: "day" } } } } ]);
出力
[
{
_id: ObjectId('6924a5f2d66dcae121d29517'),
orderId: 1001,
orderDate: ISODate('2025-01-10T08:00:00.000Z'),
deliveryDate: ISODate('2025-01-15T14:30:00.000Z'),
daysToDeliver: 5
},
{
_id: ObjectId('6924a5f2d66dcae121d29518'),
orderId: 1002,
orderDate: ISODate('2025-02-05T10:00:00.000Z'),
deliveryDate: ISODate('2025-02-12T16:45:00.000Z'),
daysToDeliver: 7
}
]
コードの例
$dateDiff コマンドを使用するコード例を表示するには、使用する言語のタブを選択します。