Ale*_*min 3 javascript postgresql sequelize.js
我正在构建一个自动填充函数,它接受一个字符串输入并返回一个字符串建议列表。
SequelizeiLike:query返回每个出现查询字符串的字符串。我想支持查询是前缀的字符串。例如,什么时候query='sh'结果应该返回以 开头的字符串,sh而不是sh在字符串中的任何位置。
从数据库接收数据后,这相对简单,但是我想知道是否有办法在查询数据库时通过 sequelize 完成此操作?如果是这样怎么办?
数据库大小将在 10,000 到 100,000 个字符串之间,不超过几个单词(确切地说是公司名称)。
可选问题:数据库通常比一般编写的代码具有更好的性能,在这种情况下是否应该有明显的差异?或者我应该只从数据库中收集所有数据并在通过 vanilla JS 之后对其应用一些其他过滤器。
let suggestions = yield db.Company.findAll({
limit: 7,
where: {
company_name: {
$iLike: '%'+this.data.query
}
}
})
Run Code Online (Sandbox Code Playgroud)
好像这个超级简单!该'%'行为像一个*从正则表达式。所以query + '%'返回任何以 query 为前缀的结果。
let suggestions = yield db.Company.findAll({
limit: 5,
where: { $or: [
{ stock_ticker: { $ilike: query + '%' } },
{ company_name: { $ilike: query + '%' } }
]},
order: '"volume" DESC'
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3408 次 |
| 最近记录: |