如何使用节点根据日期范围查询 mongoDB?

How can I query mongoDB based on date range using node?

我知道已经有很多这样的问题,但我看到的所有答案都不适合我的情况。所以请多多包涵。

我现在有这个有效的查询:

let query = [
        {
            $match: { 
              'cityState': cityState,
              'userId': userId
            }
        }];

查询是这样的运行:

Review.aggregate(query,function(err,response){

我是网络新手,所以我不太清楚我在上面使用的是什么工具。我想调整上面的查询以将两个日期作为输入,并且 return 与所有参数匹配的评论。 Review 对象有一个 givenDate 字段,我想与之进行比较。因此,查询应该 return 所有在我指定的两个日期之间具有 givenDate 并且与 cityState 和 userId 匹配的评论。

我需要对查询做些什么才能使这项工作正常进行?我传递的日期采用以下格式:2019-08-21T07:04:48.263Z

要进行比较,数据库的值和提供的输入必须是相同的数据类型。在这种情况下,将字符串输入转换为日期对象,并在针对数据库中日期范围的查询中使用它们

let inputDateFrom = new Date(inputDate1) // inputDate1 is a string
let inputDateTo = new Date(inputDate2)

let query = [
  {
      $match: { 
          'givenDate': { $gte: inputDateFrom, $lte: inputDateTo },
          'cityState': cityState,
          'userId': userId
      }
  }
];


下面是查询具有日期范围的日期字段的示例:Query for Ranges.