我在用TypeORM编写的node.js项目中使用TypeScript (0.2.40版)。我知道我可以从数据库中找到一条记录:
userRepository.find({ where: { firstName: "John", company: "foo" } });它执行查询:
SELECT * FROM "user"
WHERE "firstName" = 'John' AND "company" = 'foo'现在,我在类型记录中有了一个数组,它可能保存整数值,也可能不保存整数值:
const userIds = params.user_ids; // e.g. undefined or [1,2,3]如果WHERE userIds IN (1,2,3)包含这样的值,我希望查询添加userIds,否则不要添加这个where条件。
我尝试过(在本例中,params可能包含company,也可能不包含):
const {params} = parseRequest();
query: SelectQueryBuilder<MyEntity> = ...;
query.where({
firstName: 'John',
...(params.company && { company: params.company }), // add 'company' condition only if value exists
}).andWhere({/* how to do here have 'WHERE IN (1,2,3)' if value exist?*/});我有两个问题:
params.user_ids存在时(与params.company相同)?(如果有一种简洁的方法,请随时删除我的andWhere用法)params.user_ids假设值的逻辑?https://stackoverflow.com/questions/70067206
复制相似问题