Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用typescript和sequelize向查询添加选项?_Typescript_Search_Sequelize.js_Backend - Fatal编程技术网

有没有办法使用typescript和sequelize向查询添加选项?

有没有办法使用typescript和sequelize向查询添加选项?,typescript,search,sequelize.js,backend,Typescript,Search,Sequelize.js,Backend,嗨,我正在尝试为一个数据库构建一个搜索和过滤功能,用户可以在其中打开过滤器并搜索特定的入口。我正在使用typescript和sequelize 我想返回一个项目列表,其中应用了过滤器和searchterm。 我希望我的代码执行如下操作: const { Op } = require('sequelize'); let options = {}; if(searchParameters.name){ options += { [Op.like]: { itemName: '%' + se

嗨,我正在尝试为一个数据库构建一个搜索和过滤功能,用户可以在其中打开过滤器并搜索特定的入口。我正在使用typescript和sequelize

我想返回一个项目列表,其中应用了过滤器和searchterm。 我希望我的代码执行如下操作:

const { Op } = require('sequelize');
let options = {};

if(searchParameters.name){
    options += { [Op.like]: { itemName: '%' + searchParameters.name + '%'}}
}

return Item.findAll({
    where: options
}

我试图只应用用户实际提供的过滤器,如果过滤器为空,我会忽略它,但我找不到方法使其工作。

您最终试图为包含
where
属性的选项构造一个JSON对象。要做到这一点,您可以根据您想要的任何标准将标准添加到选项中。您的示例中的
参数格式错误,其中
参数的结尾如下:

const { Op } = require('sequelize');
let options = {};

if(searchParameters.name){
    options += { [Op.like]: { itemName: '%' + searchParameters.name + '%'}}
}

return Item.findAll({
    where: options
}
const选项={
其中:{
项目名称:{
[Op.like]:`%${searchParameters.name}%',
},
},
};
有条件地达到目标类似于以下步骤:

const{Op}=require('sequelize');
// ... 代码
常量,其中={};
if(searchParameters.name){
其中.itemName={
[Op.like]:`%${searchParameters.name}%`,
}
}
const items=wait Item.findAll({where});