如何在 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.

这是一个关于如何使用 $expr with $$NOW:

的例子
db.sample.aggregate([
  {
    "$match": {
      $expr: {
        $gte: [
          "$scheduleMessageTime",
          "$$NOW"
        ]
      }
    }
  }
])