使用打字稿/后缀传递值数组
下午好,我是一名初级开发人员,一直在尝试使用Typescript学习Sequelize,但遇到了困难。我已经创建了一个简单的查询来基于值进行搜索,但是无法传递值的数组而不会破坏查询。
const findNameTsxData = (limit: number, Name: string): Promise<FinanceStuffs[]> => {
// const { in: opIn, or } = Sequelize.Op;
return db.FinanceStuffs.findAll({
where: { Name },
limit
});
};
现在,如果我通过邮递员查询为
Name: "Joe"
Limit: 10,
它返回了Joe的10笔交易,但我希望能够在其中传递多个名称查询,例如:
Name: ["Joe", "Alex", "Jacob"]
Limit: 30
我相信答案将以某种方式映射数组,或使用Sequelize.Op,但尝试时似乎出现多个打字稿错误。
如果您能向我解释我在做什么错,那将是一次学习的经历,将不胜感激。
谢谢!
回答如下:您必须从续集中使用or
关键字,例如提及in the documentation
示例:
const findNameTsxData = (limit: number, Names: string[]): Promise<FinanceStuffs[]> => {
const Op = Sequelize.Op;
return db.FinanceStuffs.findAll({
where: { Name: { [Op.or]: Names } },
limit
});
};
如果愿意,也可以使用in
const findNameTsxData = (limit: number, Names: string[]): Promise<FinanceStuffs[]> => {
const Op = Sequelize.Op;
return db.FinanceStuffs.findAll({
where: { Name: { [Op.in]: Names } },
limit
});
};
使用打字稿/后缀传递值数组
下午好,我是一名初级开发人员,一直在尝试使用Typescript学习Sequelize,但遇到了困难。我已经创建了一个简单的查询来基于值进行搜索,但是无法传递值的数组而不会破坏查询。
const findNameTsxData = (limit: number, Name: string): Promise<FinanceStuffs[]> => {
// const { in: opIn, or } = Sequelize.Op;
return db.FinanceStuffs.findAll({
where: { Name },
limit
});
};
现在,如果我通过邮递员查询为
Name: "Joe"
Limit: 10,
它返回了Joe的10笔交易,但我希望能够在其中传递多个名称查询,例如:
Name: ["Joe", "Alex", "Jacob"]
Limit: 30
我相信答案将以某种方式映射数组,或使用Sequelize.Op,但尝试时似乎出现多个打字稿错误。
如果您能向我解释我在做什么错,那将是一次学习的经历,将不胜感激。
谢谢!
回答如下:您必须从续集中使用or
关键字,例如提及in the documentation
示例:
const findNameTsxData = (limit: number, Names: string[]): Promise<FinanceStuffs[]> => {
const Op = Sequelize.Op;
return db.FinanceStuffs.findAll({
where: { Name: { [Op.or]: Names } },
limit
});
};
如果愿意,也可以使用in
const findNameTsxData = (limit: number, Names: string[]): Promise<FinanceStuffs[]> => {
const Op = Sequelize.Op;
return db.FinanceStuffs.findAll({
where: { Name: { [Op.in]: Names } },
limit
});
};