javascript - typeorm 从名称获取存储库

标签 javascript node.js nestjs typeorm

为任何实体创建 REST API。 我可以在 queryBuilder 中使用表名称而不是 Entity 吗?

const repository = getRepository("Table_Name"); // instead of Entity, I want use string `Any Table name`.
repository.createQueryBuilder( ...  )
    .leftJoin(['TableA', 'TableB'])
    .orderBy("TableA.name")
    .offset(5)
    .limit(10);

最佳答案

鉴于您已经知道数据库表的名称,我认为您正在寻找正确的实体名称。

假设您只有一个数据库可供连接,您可以执行以下操作:

const tableName = "Table_Name";
const entityMetadata = getConnection().entityMetadatas.find((metadata) => metadata.tableName === tableName);
const repository = getRepository(entityMetadata.name);

对于您的 TableATableB,我想您可以遵循相同的逻辑。

关于javascript - typeorm 从名称获取存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69026944/

相关文章:

node.js - 如何在 Node.js 中引用 module.exports 中的变量

javascript - 无法在 React 中导入目录

javascript - 如何在javascript中获取动态创建的文本框值

javascript - Express Multer文件上传req.body和req.file未定义

javascript - 在 NestJS 模块中使用配置服务的最佳实践

nestjs - 当某些文件更改时重新启动应用程序

mysql - 如何在带有typeORM的nestjs中创建日期类型和日期时间类型的列?

javascript - Node.js:复制 csv 时文件大小不同

JavaScript 正则表达式 : Delete line with string occurrence and following two lines

javascript - 隐藏文件扩展名时识别文件类型