sequelize原始查询列不存在

时间:2018-06-04 03:42:56

标签: sql node.js postgresql sequelize.js

我试图使用原始查询,但我得到错误。 为什么它认为test是列名?

栏"测试"不存在

module.exports = {

  getUser(req, res){
    var sql = 'SELECT * FROM Users As Users WHERE Users.username = "test"'
    //Get the username of the user
    //Search the Users_matches databse for their username and join it with the
    db.sequelize.query(sql, { type: sequelize.QueryTypes.SELECT})
    .then(result => {
      return res.status(201).send({
        result
      });
    })
}

1 个答案:

答案 0 :(得分:1)

您可以转义值'test'。这工作

const User = sequelize.define('User', {
  username: Sequelize.STRING,
});

sequelize.sync({ force: true })
  .then(() => {
    var sql = 'SELECT * FROM "Users" as "Users" WHERE username = \'test\'';
    sequelize.query(sql, { type: sequelize.QueryTypes.SELECT })
      .then(result => {
        console.log(result);
      });
  });