我正在构建一个自动填充函数,它接受一个字符串输入并返回一组字符串建议。
Sequelize的`iLike:query`将返回出现查询字符串的所有字符串。我希望优先选择以查询字符串为前缀的字符串。例如,当 `query='sh'` 时,结果应该返回以 `sh` 开头的字符串,而不是包含 `sh` 的任何位置的字符串。
在从数据库接收数据后,这相对简单实现,但我想知道是否有办法通过sequelize在查询数据库时完成这个任务?如果可以,怎么做?
DB的大小将在10,000到100,000个字符串之间,每个字符串都不超过几个单词(确切地说是公司名称)。
可选问题:通常情况下,DB具有高性能,这种情况下是否会有明显差异?或者我只需从DB收集所有数据,并在之后通过vanilla JS应用其他过滤器即可。
Sequelize的`iLike:query`将返回出现查询字符串的所有字符串。我希望优先选择以查询字符串为前缀的字符串。例如,当 `query='sh'` 时,结果应该返回以 `sh` 开头的字符串,而不是包含 `sh` 的任何位置的字符串。
在从数据库接收数据后,这相对简单实现,但我想知道是否有办法通过sequelize在查询数据库时完成这个任务?如果可以,怎么做?
DB的大小将在10,000到100,000个字符串之间,每个字符串都不超过几个单词(确切地说是公司名称)。
可选问题:通常情况下,DB具有高性能,这种情况下是否会有明显差异?或者我只需从DB收集所有数据,并在之后通过vanilla JS应用其他过滤器即可。
let suggestions = yield db.Company.findAll({
limit: 7,
where: {
company_name: {
$iLike: '%'+this.data.query
}
}
})