首页 文章

猫鼬日期比较不会返回正确的结果

提问于
浏览
0

我想要在两个日期之间获得所有记录 .

这是我正在使用的where子句:

.where(
{
  'targetDate' : {
    '$gte' : smallBound,
    '$lte' : highBound
  }
});

其中smallBound和highBound是Date对象,其值等于

smallBound : Fri Jan 05 2018 00:00:00 GMT+0000 (UTC)
highBound : Sat Jan 06 2018 00:00:00 GMT+0000 (UTC)

我有日期记录: Fri Jan 05 2018 00:00:00 GMT+0000 (UTC)Sat Jan 06 2018 00:00:00 GMT+0000 (UTC)

但是,请求只返回一个结果(我期望2)

我究竟做错了什么?

我只获得 2018-01-06T00:00:00.000Z 记录 .

如果我尝试使用较低的下限 Thu Jan 04 2018 00:00:00 GMT+0000 (UTC) 我会得到 2018-01-05T00:00:00.000Z 记录

这是Mongoose调试日志:

插入物品:

Mongoose:clips.insert({creatorId:ObjectId(“5a38e6ae10aa8ae4f66a5ee1”),createdAt:new Date(“Fri,05 Jan 2018 00:00:00 GMT”),updatedAt:new Date(“Fri,05 Jan 2018 00: 00:00 GMT“),targetDate:新日期(”星期五,2018年1月5日00:00:00 GMT“),输入:'movie',_ id:ObjectId(”5a38e6ae10aa8ae4f66a5ee6“),__ v:0})猫鼬:剪辑.insert({creatorId:ObjectId(“5a38e6ae10aa8ae4f66a5ee1”),createdAt:new Date(“Sat,06 Jan 2018 00:00:00 GMT”),updatedAt:new Date(“Sat,06 Jan 2018 00:00:00 GMT” “),targetDate:new Date(”Sat,06 Jan 2018 00:00:00 GMT“),输入:'movie',_ id:ObjectId(”5a38e6ae10aa8ae4f66a5ee7“),__ v:0})

Search query:

Mongoose:clips.find({creatorId:ObjectId(“5a38e6ae10aa8ae4f66a5ee1”),targetDate:{'$ gte':new Date(“Fri,05 Jan 2018 00:00:00 GMT”),'$ lte':new Date (“星期六,2018年1月6日00:00:00 GMT”)}},{skip:1,限制:20,排序:{targetDate:1,_id:1},字段:{}})

1 回答

  • 0

    调试查询显示问题: skip: 1 是罪魁祸首 .

    显然,第一条记录总是被丢弃 .

相关问题