如何使用Node.js和Mongoose查询日期?

时间:2011-10-03 17:16:57

标签: date node.js mongoose

我有:

    dates = {}
    today = new Date()
    todayminus7days = new Date(today).setDate(today.getDate()-7)
    dates.startDate = todayminus7days
    dates.endDate = today

    query =
      person_gender: filter.gender if filter.gender
      person_age:
        0:
          $gte: dates.startDate
        1:
          $lte: dates.endDate

但是,当我通过Mongoose模型运行此查询时,结束查询是:

{ person_gender: 'female',
  person_age: 
   { '0': { '$gte': 1317055089524 },
     '1': { '$lte': Mon, 03 Oct 2011 16:38:09 GMT } } }

,这会在该日期范围内返回null结果。

我怎样才能将Date传递给Mongoose呢?

1 个答案:

答案 0 :(得分:6)

你的问题不是与MongoDB或Mongoose有关,而是假设.setDate()返回一个Date(它没有)。

如果您将初始化代码更改为:

...
todayminus7days = new Date(today);
todayminus7days.setDate(-7);
...

它应该按预期工作。