在续集查询wheres属性中使用别名?

时间:2019-12-11 04:18:51

标签: sql node.js sequelize.js

这是我的示例代码,我的问题是如何使“ cityName”成为查询中的别名

const test = await test.findAll({
    where: { cityName: { $like: '%' + searchWord + '%' } },
    attributes: ['a', 'b']
})

对不起,我的英语能力 这是我的附加说明,我想使用参数替换“ cityName”

let NewCityName = 'something'

const test = await test.findAll({
    where: { NewCityName: { $like: '%' + searchWord + '%' } },
    attributes: ['a', 'b']
})

此代码无效,但似乎有助于理解该问题。

2 个答案:

答案 0 :(得分:1)

是的,有可能。试试这个。

const test = await test.findAll({
where: { cityName: { $like: '%' + searchWord + '%' } },
attributes: ['id',['cityName', 'city']]
})

此处cityName的别名为city

答案 1 :(得分:0)

我解决了。 我从Sequelize API参考的“运算符别名”部分中得到了一个想法

const test = {
  where: { cityName: { $like: '%' + searchWord + '%' } }
}

const test = await test.findAll({
  test,
  attributes: ['a', 'b']
})

通过将整个“ where”作为别名来解决