And*_*oya 0 javascript mysql node.js typeorm
如何使用最新版本的 TypeORM 在 MySQL 中进行全文查询?
我想搜索所有具有确定单词或短语的人。例如,在表“人”中有:
@Column("varchar")
name: string;
@Column("varchar")
lastname: string;
@Column("text")
personalDescription: string;
Run Code Online (Sandbox Code Playgroud)
因此,如果我输入“Andrés”、“Niko”、“我是开发人员”或其他任何内容,我想通过 MySQL 的“全文”功能在用户的姓名、姓氏和个人描述中找到谁拥有该信息。
谢谢。
小智 5
我对mysql全文没有太多经验。但是我的简单测试正在运行。
实体:
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Index({ fulltext: true })
@Column("varchar")
name: string;
@Index({ fulltext: true })
@Column("varchar")
lastname: string;
@Index({ fulltext: true })
@Column("text")
personalDescription: string;
}
Run Code Online (Sandbox Code Playgroud)
使用查询生成器选择:
const searchTerm = "programmer";
const result = await connection.manager.getRepository(User)
.createQueryBuilder()
.select()
.where(`MATCH(lastname) AGAINST ('${searchTerm}' IN BOOLEAN MODE)`)
.orWhere(`MATCH(name) AGAINST ('${searchTerm}' IN BOOLEAN MODE)`)
.orWhere(`MATCH(personalDescription) AGAINST ('${searchTerm}' IN BOOLEAN MODE)`)
.getMany();
Run Code Online (Sandbox Code Playgroud)
如果您需要更高级的全文搜索,您必须查看 mysql 文档。
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |