Geo*_*rds 3 javascript postgresql node.js sequelize.js
我有以下续集查询:
let prms = periods.map((period, index, arr) => {
if (arr[index + 1]) {
return sequelize.models.Result.aggregate('value', 'avg', {
where: {
createdAt: {
$lt: arr[index + 1],
$gt: period
},
type: hook.params.headers.type,
entityId: hook.params.headers.entity
}
}).catch(err => console.log('err'));
}
})
Run Code Online (Sandbox Code Playgroud)
现在,createdAtwhere 对象上的属性导致了我这个问题:
错误:错误:Object.escape 处的无效值 1506211200000 (C:\Users\George\Source\Repos\myProj\node_modules\sequelize\lib\sql-string.js:50:11) 在 Object.escape (C:\Users \George\Source\Repos\myProj\node_modules\sequelize\lib\dialects\abstract\query-generator.js:917:22)
现在,我没有在任何想法1506211200000数量是从哪里来的,都arr[index + 1]和period都moment.js对象,我可以通过做验证这一点console.log(arr[index + 1].isValid(), period.isValid());,其打印true true。如果删除 createdAt 限制,则没有问题。
知道这里发生了什么吗?
注意:我正在使用 Postgres
您需要使用方法将moment对象转换为Date对象moment#toDate,以便在后续查询中使用它:
...
createdAt: {
$lt: arr[index + 1].toDate(),
$gt: period.toDate()
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4363 次 |
| 最近记录: |