2017-09-24 26 views
1

I次sequelizeクエリがあります。Sequelizeは、内のオブジェクトwhere句

error: Error: Invalid value 1506211200000 at Object.escape (C:\Users\George\Source\Repos\myProj\node_modules\sequelize\lib\sql-string.js:50:11) at Object.escape (C:\Users\George\Source\Repos\myProj\node_modules\sequelize\lib\dialects\abstract\query-generator.js:917:22)

:オブジェクトが私にこの問題を引き起こしている今

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')); 
    } 
}) 

、上createdAtプロパティを今度は1506211200000の番号がわからないので、arr[index + 1]periodはmoment.jsオブジェクトです。console.log(arr[index + 1].isValid(), period.isValid());はを出力して確認できます3210。 createdAt制約を削除すると問題はありません。

ここで何が起こっているのでしょうか?

NB:私はあなたがsequelizeクエリでそれを使用するために、moment#toDateメソッドを使用してDateオブジェクトへmomentオブジェクトを変換する必要があるのPostgres

答えて

2

を使用しています:

... 
createdAt: { 
    $lt: arr[index + 1].toDate(), 
    $gt: period.toDate() 
},