【发布时间】:2020-05-27 08:46:25
【问题描述】:
我想在 mongo db 中按日期类型搜索我有一个问题,当我使用 moment 时它会更改我的默认日期,所以我不明白为什么它会使用相同的代码更改我的日期
这是我尝试的方法
let params = {}
let date = "2020-05-27" //I send it in String Type
const newDate = new Date(date)
const start = moment(newDate).startOf('day')
const end = moment(newDate).endOf('day')
console.log(newDate)
console.log(start._d, end._d)
Object.assign(params, { updatedAt: { $gte: start, $lte: end } })
await Order.find(params)
当我发送第一个请求时,它会返回正确的日期并收集默认值,但在我再发送 1 个请求后,我的 start._d 更改值,而我的日期是相同的值
这是我的第一个控制台日志
api | 2020-05-27T00:00:00.000Z //date
api | 2020-05-27T00:00:00.000Z (start.d) 2020-05-27T16:59:59.999Z (end.d)
这是我的第二个 console.log
api | 2020-05-27T00:00:00.000Z //date
api | 2020-05-26T17:00:00.000Z(start.d) 2020-05-26T23:59:59.999Z(end.d)
正如你所见,为什么我的 start.d -1 天而我的日期第一次是相同的值
在我发送更多请求后,它将显示相同的第二个 console.log
【问题讨论】:
标签: javascript node.js mongodb mongoose momentjs