我正在尝试使用 mongoose 调用 mongodb 集合,但在调用中使用日期时遇到问题
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("") 但它正在破坏
最佳答案
实际上,您已在架构中将 reviewDate
字段的 type
定义为 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()
}
});
关于node.js - 在 Mongoose 中使用 ISODate 的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55500690/