如何在 mongodb 视图中添加当前日期和时间的比较
how to add comparision for current date and time in mongdb views
这里在我当前的 SQL 查询中有 now() 函数提供当前数据和时间,我必须在 mongo 数据库视图查询中使用类似的函数来使用提供当前日期的函数和时间。谁能告诉我在 mongo 数据库视图中使用哪个函数以及如何使用该函数?
当我都尝试过时,如果我使用 new ISODate() 然后它给我错误,如 ISODate is not defined,当我尝试使用 new Date() 时,视图正在创建但我无法打开风景。我比较了一个小于当前时间的字段
据我了解,您正在尝试在 MongoDB 中构建一个需要日期比较的视图。
为此 MongoDB 有一些 system variables you can use in your aggregation pipeline. You can use $$NOW 变量来比较任何字段与当前时间戳。
这里有一个问题。 $match
不接受 raw aggregation expression. From the $match
docs:
The $match query syntax is identical to the read operation query syntax; i.e. $match does not accept raw aggregation expressions. To include aggregation expression in $match, use a $expr query expression:
作为$$NOW is a system variable we need to use $expr:
Expressions can include field paths, literals, system variables, expression objects, and expression operators. Expressions can be nested.
的例子
db.sample.aggregate([
{
"$match": {
$expr: {
$gte: [
"$scheduleMessageTime",
"$$NOW"
]
}
}
}
])
这里在我当前的 SQL 查询中有 now() 函数提供当前数据和时间,我必须在 mongo 数据库视图查询中使用类似的函数来使用提供当前日期的函数和时间。谁能告诉我在 mongo 数据库视图中使用哪个函数以及如何使用该函数?
当我都尝试过时,如果我使用 new ISODate() 然后它给我错误,如 ISODate is not defined,当我尝试使用 new Date() 时,视图正在创建但我无法打开风景。我比较了一个小于当前时间的字段
据我了解,您正在尝试在 MongoDB 中构建一个需要日期比较的视图。
为此 MongoDB 有一些 system variables you can use in your aggregation pipeline. You can use $$NOW 变量来比较任何字段与当前时间戳。
这里有一个问题。 $match
不接受 raw aggregation expression. From the $match
docs:
The $match query syntax is identical to the read operation query syntax; i.e. $match does not accept raw aggregation expressions. To include aggregation expression in $match, use a $expr query expression:
作为$$NOW is a system variable we need to use $expr:
的例子Expressions can include field paths, literals, system variables, expression objects, and expression operators. Expressions can be nested.
db.sample.aggregate([
{
"$match": {
$expr: {
$gte: [
"$scheduleMessageTime",
"$$NOW"
]
}
}
}
])