当前位置: 首页 > 知识库问答 >
问题:

类似TypeORM QueryBuilder中带通配符的查询

桂飞翼
2023-03-14

在我的NestJS项目中,我有这个TypeORM查询:

const users = await this.usersRepository.find({
  skip,
  take,
  order: sortingObject,
  join: {
      alias: 'user',
      leftJoinAndSelect: {
          country: 'user.country_id',
      },
  },
});

现在我只想返回名称中包含john的用户。在SQL中,这将是一个类似查询类似%john%

在https://github.com/typeorm/typeorm/blob/master/docs/find-options.md中,没有关于通配符like查询的信息。

如何执行like查询类型ORM给出了一个解决方案:。Where(“user.firstName like:name”,{name:'%'+firstName+'%'})

但是,我无法使用skiptake,后者在使用where()而不是find()时可用。

对于如何使用TypeORM QueryBuilder实现这一点有什么想法吗?

共有1个答案

慕学海
2023-03-14

QueryBuilder中有分页方法(.skip(int).take(int))。

试试这样的。

const users = await this.usersRepository
    .createQueryBuilder("user")
    .leftJoinAndSelect("user.country_id", "country")
    .skip(5)
    .take(10)
    .where("user.firstName like :name", {name: '%' + firstName + '%' })
    .orderBy("user.id", "DESC")
    .getMany();

有关详细信息,请参见文档:在TypeORM QueryBuilder中使用分页

 类似资料:
  • 问题内容: 精简版: 我想使用Nest编写一个elasticsearch查询,以获取已被索引的完整索引项(在我的情况下为自定义类型)。该查询受[somestring] + *(即String.StartsWith())的术语查询的约束,其中[somestring]可能包含空格,也可能不包含空格。 这与由于我需要检索完整对象而不是字符串建议而不同。 到目前为止,我已经尝试过: 当我查询没有空格的文本

  • 我有一个相当于: 我希望执行一个查询,返回任何文档,这些文档对于嵌套在中的任何键都具有具有特定值的键。类似于: 将检索两个文件。

  • 问题内容: 我尝试将正则表达式匹配为app.yaml中的目录名的尝试不起作用: 尽管此官方规范说正则表达式语法受支持。有办法使这项工作吗? 即应该匹配静态文件。 琐事 我使用Google App Engine服务Go Webapp。 我想最大程度地延长浏览器缓存的寿命,最大程度地减少请求数,并仍提供我的css / js / png的新版本,并且我相信修改文件名是实现此目的的最佳实践。另外,由于添加

  • 问题内容: 我正在使用这些div进行样式设置,但是我还需要唯一的标识符1,2,3,4等。因此,我将其添加为另一个类。 有没有办法只上一堂课。我尝试在此CSS中使用通配符,但没有用。 问题答案: 您需要的称为属性选择器。以下是使用您的html结构的示例: 可以代替或添加任何元素,也可以代替或添加指定元素的任何属性。 —以“ tocolor-”开头。 —包含直接在空格字符后出现的子字符串“ tocol

  • 问题内容: 我可以使用简单的通配符查询,如下所示: 但是,如果我想在字段中使用通配符,那又如何呢?应该如何看待有效查询: 问题答案: 您可以使用query_string,它允许使用字段名通配符和查询文本通配符。 这些线周围的东西:

  • 在试图理解java泛型类型和通配符“?”的用法时,我尝试了以下方法: 我得到以下编译错误(使用Oracle JDeveloper作为IDE): 为什么上面的代码不能编译,而赋值却可以呢?另外,如果我想调用,什么是可接受的参数值?