我有一个名为“项目”的集合,该集合的预期时间和实际时间都为字符串格式
{
"_id" : ObjectId("5ce7455d77af2d1143f84d49"),
"project_name" : "p1",
"expected" : "0:11:30",
"actual" : "7:30:00",
}
如何使用mongodb比较两个字符串格式时间? 我想知道实际时间是否超出预期
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以使用$dateFromString
运算符将时间转换为所需的任何日期,然后可以轻松地使用$lte
$gte
执行简单的匹配操作。
db.collection.find({
"$expr": {
"$gt": [
{ "$dateFromString": {
"dateString": {
"$concat": ["2018-09-19", "T", "$actual"]
}
}},
{ "$dateFromString": {
"dateString": {
"$concat": ["2018-09-19", "T", "$expected"]
}
}}
]
}
})