猫鼬没有返回正确数量的结果

时间:2020-09-17 15:29:10

标签: javascript mongodb mongoose

我是猫鼬的新手。我正在尝试按带有createDate和endDate的createdAt日期进行查询,但是结果数不正确。

data

{"_id":{"$oid":"5f4fab9beceaa20f898feafb"},"message":"Inquiry 101","service":"GENERAL_INQUIRY","name":"Alex","email":"alex@gmail.com","personalNumber":"0991898838398","createdAt":{"$date":"2020-09-02T14:26:35.237Z"},"updatedAt":{"$date":"2020-09-02T14:26:35.237Z"}}
{"_id":{"$oid":"5f4fc3677e7b1e2d806714cf"},"message":"Inquiry 101","service":"GENERAL_INQUIRY","name":"Joshua","email":"joshua@gmail.com","personalNumber":"0991898838398","createdAt":{"$date":"2020-09-02T16:08:07.123Z"},"updatedAt":{"$date":"2020-09-02T16:08:07.123Z"}}
{"_id":{"$oid":"5f50b80f28ca26065b2ac9a5"},"message":"Inquiry 101","service":"GENERAL_INQUIRY","name":"Harold","email":"harold@gmail.com","personalNumber":"0991898838398","createdAt":{"$date":"2020-09-03T09:31:59.112Z"},"updatedAt":{"$date":"2020-09-03T09:31:59.112Z"}}
{"_id":{"$oid":"5f59104ff518c40579b578d0"},"message":"Inquiry 101","service":"GENERAL_INQUIRY","name":"Katy","email":"katy@gmail.com","personalNumber":"0991898838398","createdAt":{"$date":"2020-09-09T17:26:39.787Z"},"updatedAt":{"$date":"2020-09-09T17:26:39.787Z"}}

我和ff有4条记录。日期2020-09-022020-09-032020-09-09

我想从2020-09-022020-09-03获取所有记录,我希望得到3个结果,因为我必须在2020-09-02上记录,但是我只有2个结果,这些记录与他们有2020-09-02个约会。

const { limit = 30 } = params;

    return new Promise((resolve, reject) => {
        const query = {
          createdAt: {
            $gte: '2020-09-02',
            $lte: '2020-09-03',
          }
        };
      this.model.find(query).sort({
        createdAt: 'descending',
      }).limit(limit).exec((err, res) => {
        if (!err) {
          resolve(res);
        }
        reject(err);
      })
    })

我的代码丢失了吗?

我也尝试通过new Date('2020-09-02'),但仍然得到相同的结果。

我尝试将猫鼬调试设置为true,下面是我得到的。

Mongoose: inquiries.find({ createdAt: { '$gte': new Date("Wed, 02 
Sep 2020 00:00:00 GMT"), '$lte': new Date("Thu, 03 Sep 2020 00:00:00 GMT") }}, { sort: { createdAt: -1 }, limit: 30, projection: {} 
})

谢谢。

1 个答案:

答案 0 :(得分:1)

您正在寻找大于2020-09-02 00:00:00且小于2020-09-03 00:00:00的记录。

您只有2条记录在这些值之间,如果您想要包括2020-09-03 23:59:59的记录,请将您的lte设置为2020-09-04