gpt4 book ai didi

javascript - Sequelize查询字符串前缀/开头

转载 作者:行者123 更新时间:2023-11-29 11:59:20 30 4
gpt4 key购买 nike

我正在构建一个自动填充函数,它接受一个字符串输入并返回一个字符串建议列表。

Sequelize 的 iLike: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
}
}
})

最佳答案

这看起来 super 简单! '%' 的作用类似于正则表达式中的 *。所以 query + '%' 返回任何以 query 为前缀的结果。

let suggestions = yield db.Company.findAll({
limit: 5,
where: { $or: [
{ stock_ticker: { $ilike: query + '%' } },
{ company_name: { $ilike: query + '%' } }
]},
order: '"volume" DESC'
})

关于javascript - Sequelize查询字符串前缀/开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38336059/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com