我在typeorm文档或源代码中都找不到OR运算符的任何概念。它完全支持吗?
我正在尝试使用存储库执行基本搜索。
db.getRepository(MyModel).find({
name : "john",
lastName: "doe"
})
我知道这会产生一个AND运算,但是 我需要执行OR操作,因此sql如下所示:
name='john' OR lastName='doe'
我被迫将查询生成器用于此类基本操作吗?
答案 0 :(得分:1)
Map<P,Optional<Q>> map = ...;
Map<P,Q> map2 = map.entrySet()
.stream().filter(e -> e.getValue().isPresent())
.collect(Collectors.toMap(e -> e.getKey(), e->e.getValue().get()));
将数组传递到db.getRepository(MyModel).find({
where:[
{name:"john"},
{lastName: "doe"}
]
})
答案 1 :(得分:0)
我遇到了同样的问题,但是我使用QueryBuilder解决了这个问题。
这是一个例子。
return await getRepository(MyModel)
.createQueryBuilder()
.where("name = :name OR lastName = :lastName", {
name: "john",
lastName: "doe"
})
.getMany();