私は、ExpressのNode.jsサーバー上で実行されている次の2つのファイルがあります。Sequelize無効な値のシンボル(NE)
home.js
var express = require('express')
var sequelize = require('sequelize')
var db = require('../../shared/db.js')
var op = sequelize.Op
var router = express.Router()
router.get('/home', function(req, res, next) {
db.shared.person.findAll({
where: {
email: {
[op.ne]: null
}
},
order: ['id']
}).then(function (person) {
res.locals = {
person: person
}
res.render('home')
})
})
module.exports = router
db.js
var sequelize = require('sequelize')
var config = {
host: 'localhost',
port: 5432,
username: '...',
password: '...',
database: 'postgres',
dialect: 'postgres',
operatorsAliases: false
}
var db = new sequelize(config)
module.exports = {
shared: {
person: db.define('person', {
id: {
type: sequelize.INTEGER,
primaryKey: true
},
name: sequelize.STRING,
email: sequelize.INTEGER
}, { freezeTableName: true , timestamps: false, schema: 'shared' }),
}
}
をこのクエリを実行しようとすると、エラーが表示されるUnhandled rejection Error: Invalid value { [Symbol(ne)]: null }
何が間違っていますか? $ne
、さらにはne
を使用することはできますが、廃止され、完全に安全ではありません。さらに、それだけではない[op.ne]
- 私はこのような条件を使用すると、このエラーが発生します。
私はこれをすべてguideに基づいているので、私はここで間違っている可能性はよく分かりません。
これはどうもありがとうございました、超便利でした!しかし、1つの質問:Node.js/Expressでユーザーの入力をどのように消毒するのですか? –