【问题标题】:Is there any query to find data between given dates?是否有任何查询来查找给定日期之间的数据?
【发布时间】:2019-01-22 06:21:08
【问题描述】:

我在 URL 中发送 startDate 和 endDate 并点击查询以查找 startDate 和 endDate 之间的数据

var startDate = res.req.query.startDate ? moment(res.req.query.startDate, 'YYYY-MM-DD').valueOf() : null
var endDate = res.req.query.endDate ? moment(res.req.query.endDate, 'YYYY-MM-DD').valueOf() : null
if (startDate && endDate) { 
   query.dispatchDate = { $gte:startDate , $lte: endDate }
}

【问题讨论】:

标签: node.js mongodb yeoman


【解决方案1】:

您没有明确提出您的问题,但我建议您提供我理解的解决方案。

为了首先找到两个日期之间的数据,您必须在 db 中添加一个字段来跟踪输入记录的时间假设您有一个名为 items 的集合,并且在输入数据时跟踪的字段是 created_date 然后您可以找到之间的数据2 个日期类似

items.find({
     created_at: {
          $gte: ISODate("2019-01-21T00:00:00.000Z"),
          $lt: ISODate("2019-01-28T00:00:00.000Z")
     }
})

更多详情请联系shHow to find objects between 2 dates in mongodb

【讨论】:

  • dispatchDate 是数据库中我执行查询的字段,strartDate 和 endDate 来自 URL 中的前端,我使用 npm 时刻来格式化日期
  • 您真的应该将日期保存为 mongodb 中的 Date 对象而不是日期字符串。
  • 请不要回答已经有答案的问题。相反,将问题标记为重复; How to Answer.
  • @Rafael 感谢您的建议,我将在未来遵循该建议
猜你喜欢
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
相关资源
最近更新 更多