如何使用 SQLite 数据库连接 Sequelize 中的列

Lia*_*dan 2 sqlite express sequelize.js

我正在将 Sequelize 用于我正在处理的快速项目。
在一个查询中,我想检索两列的连接结果。

喜欢:

SELECT first_name || ' ' || last_name AS full_name FROM table
Run Code Online (Sandbox Code Playgroud)

我尝试了以下语法并出现错误

router.get('/persons', function(req, res, next) {
  models.Person.findAll({
    attributes: [models.sequelize.fn('CONCAT', 'first_name', 'last_name')]
  })
    .then(function(persons) {
      res.send(persons);
    });
});
Run Code Online (Sandbox Code Playgroud)

错误信息:

SELECT CONCAT('first_name', 'last_name') FROM `Persons` AS `Person`;
Possibly unhandled SequelizeDatabaseError: Error: SQLITE_ERROR: no such function: CONCAT
Run Code Online (Sandbox Code Playgroud)

Lia*_*dan 7

我使用models.sequelize.literal, 在嵌套数组中创建一个表示文字的对象,以给它一个别名。

结果:

router.get('/persons', function(req, res, next) {
  models.Person.findAll({
    attributes: [models.sequelize.literal("first_name || ' ' || last_name"), 'full_name']
  })
    .then(function(persons) {
      res.send(persons);
    });
});
Run Code Online (Sandbox Code Playgroud)