【问题标题】:MongoDB Mongoose select documents between a date rangeMongoDB Mongoose 在日期范围内选择文档
【发布时间】:2020-03-22 19:03:02
【问题描述】:

我有一个名为 events 的集合。示例文档是这样的。

我想选择日期范围为'2019-01-11''2019-11-27' 的文档。 我所做的是这个。但这似乎不起作用。 如何使用MongoDB Mongoose 实现这一目标?

$match: {
                    createdAt: {
                        $gte: {
                            $dayOfYear: '2019-01-11'
                        },
                        $lte: {
                            $dayOfYear: '2019-11-27'

                        }
                    }
                }

【问题讨论】:

  • 您是否尝试过$gte 并将日期值转换为new Date(<you date>) 并通过?而不是$dayOfYear?

标签: mongodb mongoose


【解决方案1】:

请改用Date() 对象。我不确定这是否也会影响时区。


  db.collection.find({
                        "createdAt": { 
                                       "$gte": new Date('2019, 1, 11'), 
                                       "$lt" : new Date(2019, 11, 27)
                                      }
                     })

【讨论】:

  • 您的代码中有一个小错误。您可以使用引号生成日期对象:new Date('2019, 1, 11'),或者在使用(仅)月份是从 0 开始的数字时请记住,例如 new Date(2019, 10, 27)
  • 谢谢!忘记了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-29
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
相关资源
最近更新 更多