node.js - 在 Mongoose 中使用 ISODate 的正确方法是什么
问题描述
我正在尝试使用 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("") 但它正在破坏
解决方案
实际上,您已经在架构中定义了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()
}
});
推荐阅读
- sql - 许多小插入 - 最好将它们批处理或使用准备好的语句?
- swift - 在 Switch 语句中声明一个 var
- javascript - Android 应用程序中的语音识别问题
- azure-service-fabric - 将 Service Fabric 远程调用转换为 REST
- kubernetes - Kubectl 创建“无效对象”
- algorithm - BFS 和 DFS 算法有什么区别?
- javascript - hapi.js 没有从 mysql 返回值
- discord.js - 我正在尝试将状态和播放状态添加到我的用户信息命令
- python - Spacy 编辑/清理 PDF 文件中不那么重要的文本
- python - 如何在odoo中将自定义值从sales.order.line发送到stock.move