преобразовать строку в дату и получить данные между двумя датами - PullRequest
0 голосов
/ 28 апреля 2019

Я новичок в MongoDB. Я пишу REST API, используя Express, Mongoose, Nodejs. Я хочу получить все цены (сбор) между двумя датами. В mongoDB моя дата сохраняется как «2016-01-05 00:00:00». и мои вводные начальные и конечные даты имеют формат «05-01-2016 0,00» в виде строки.

Чтобы получить данные между двумя датами, я использую запрос монго ниже:

let startDate = moment(req.params.startdate, "DD-MM-YYYY hh:mm:ss").format("YYYY-MM-DD hh:mm:ss")
let endtDate = moment(req.params.endtdate, "DD-MM-YYYY hh:mm:ss").format("YYYY-MM-DD hh:mm:ss")



Price.find({
        date: {
            $gte: startDate,
            $lte: endtDate
        }
    })
    .exec()
    .then(result => {
        res.status(200).json(result)
    })
    .catch(err => {
        res.status(500).json({
            error: err
        })
    })

но получаю ошибку ниже:

UnhandledPromiseRejectionWarning: CastError: Cast to date failed for value "Invalid date" at path "date" for model "prices"

Пожалуйста, дайте мне знать, если я делаю что-то не так.

...