我无法在powershell中查询我的查询以适应日期范围。下面是我的mongodb doc和powershell代码。我必须切换到UTC时间以匹配mongodb中的时间。我已经尝试了几种不同的日期格式,但在查询日期范围甚至特定日期时仍然找不到任何记录。任何帮助将不胜感激。
MongoDB的:
{
"_id" : ObjectId("570d0955ef8ca41768d887a8"),
"HostName" : "blah.foo.bar",
"Maintenance" : false,
"Process" : false,
"ProcessDateTime" : ISODate("2016-04-12T14:39:53.000+0000")
}
Powershell的:
$mongoDbDriverPath = "C:\utilities\mongoDB\"
$dbName = "blahProd"
$collectionName = "blah"
Add-Type -Path "$($mongoDbDriverPath)\MongoDB.Bson.dll"
Add-Type -Path "$($mongoDbDriverPath)\MongoDB.Driver.dll"
$db = [MongoDB.Driver.MongoDatabase]::Create("mongodb://localhost/($dbname)")
$collection = $db[$collectionName]
$rundate = Get-Date
$rundate = $rundate.AddMinutes(-30)
$rundate_utc = $rundate.ToUniversalTime()
$ISOrundate_utc = $rundate_utc.ToString("yyyy-MM-ddTHH:mm:ssZ")
$query =[MongoDB.Driver.Builders.Query]::GTE"ProcessDateTime",$ISOrundate_utc)
$results = $collection.find($query)
foreach ($result in $results) {
write-host $result["HostName"] " - " $result["ProcessDateTime"]
}
答案 0 :(得分:0)
$query2 = [MongoDB.Driver.Builders.Query]::GTE("Time", [dateTime]"2021-06-01")
$query3 = [MongoDB.Driver.Builders.Query]::LT("Time", [dateTime]"2021-06-09")
似乎可以解决问题。