首页 > 解决方案 > MongoDB如何根据多个日期获取文档

问题描述

我有一系列事件,每个事件都有一个开始日期。我只想从特定日期开始获取数据。我将如何做到这一点?我找到了很多日期范围的解决方案,但这种情况不同。如果客户输入两个日期,我只需要获取从这两个日期开始的事件,不需要介于两者之间的日期。我尝试使用 $or、$in 等但没有用。下面的代码将不起作用。

let query = {
  startDate: {
    $or: [
      {
        $gte: new Date("2018-05-10T00:00:00.000Z"),
        $lt: new Date("2018-05-10T23:59:59.000Z")
      },
      {
        $gte: new Date("2018-08-06T00:00:00.000Z"),
        $lt: new Date("2018-08-06T23:59:59.000Z")
      }
    ]
  }
};

标签: mongodbdate

解决方案


找到了答案。

let query = {
  $or: [
    {
      startDate: {
        $gte: new Date("2018-05-10T00:00:00.000Z"),
        $lt: new Date("2018-05-10T23:59:59.000Z")
      }
    },
    {
      startDate: {
        $gte: new Date("2018-08-06T00:00:00.000Z"),
        $lt: new Date("2018-08-06T23:59:59.000Z")
      }
    }
  ]
};

推荐阅读