我有以下檔案:
{
timestamp: 2022-11-03T15:00:00.000 00:00,
...
}
{
timestamp: 2022-11-03T15:00:00.000 00:00,
...
}
{
timestamp: 2022-11-03T10:00:00.000 00:00,
...
}
{
timestamp: 2022-11-03T11:00:00.000 00:00,
...
}
如果時間是 16:20,我試圖只匹配時間戳值大于 15:00 的檔案。所以基本上我試圖匹配當前時間,減去一小時和當前分鐘。我怎么做?
這是我嘗試過的:
{
$match: {
timestamp: {
$gte: {
startDate: {
$dateTrunc: {
date: "$$NOW",
unit: "hour"
}
},
unit: "hour",
amount: 1
}
}
}
}
但即使它應該回傳示例中的兩行,它也不會回傳任何內容。
uj5u.com熱心網友回復:
嘗試這個:
db.collection.aggregate([
{$match: {
$expr: {
$gte: [
"$timestamp",
{
$dateAdd: {
startDate: {$dateTrunc: {date: "$$NOW", unit: "hour"}},
unit: "hour",
amount: -1
}
}
]
}
}
}
])
看看它在操場上的例子是如何作業的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526569.html