#node.js #mongodb #mongoose
#node.js #mongodb #mongoose
Вопрос:
Я пытаюсь вызвать коллекцию mongodb с помощью mongoose, но у меня возникают проблемы с использованием дат в вызове
const siteReviews = await Review.countDocuments({
'clientId': clientObj.ClientBrandID,
'siteSource': 'SomeSite',
'reviewDate':{
$gt:"2018-12-24T18:04:47.806Z",
$lt:"2019-04-03T17:04:47.806Z"
}
})
Я точно знаю, что у меня есть данные между этими двумя датами, но я получаю 0 обратно.Я также пытался использовать ISODate («») непосредственно в коде, но это приводит к сбоям
Ответ №1:
На самом деле, вы определили type
из reviewDate
поля как Date
в вашей схеме, и здесь вы передаете его как String
.
Итак, в основном вам нужно преобразовать String
дату в Date
объект, и это можно легко сделать с помощью moment
библиотеки
const googleReviews = await Review.countDocuments({
clientId: clientObj.ClientBrandID,
siteSource: "SomeSite",
reviewDate: {
$gt: moment("2018-12-24T18:04:47.806Z").toDate(),
$lt: moment("2019-04-03T17:04:47.806Z").toDate()
}
});