我有一个nestjs应用程序,并且正在编写一些独立的任务来沿着它。
用于独立应用程序的documentation显示了如何获取服务示例,即
const app = await NestFactory.createApplicationContext(AppModule);
const tasksService = app.get(TasksService);
但是没有展示如果我想读/写数据库的话如何获得一个存储库。
我已经试过了显而易见的:
const repo = app.get(Repository<User>);
但这会引发编译器错误“类型'typeof Repository'的值不可调用。您是否打算包含'new'?ts(2348)”。
在线示例(以及nestjs文档中的示例)使用@InjectRepository,但遗憾的是,我的独立任务没有任何可以使用它的示例。
我如何获得一个存储库示例,我可以用它在一个独立的nestjs脚本中读/写数据库?
2条答案
按热度按时间bihw5rsg1#
app.get
接收提供者的令牌。因此,
const repo = app.get(getRepositoryToken(User));
应该工作
xdnvmnnf2#
顺便说一句:我的问题的另一个答案是“你到底想做什么?”因为我想做的就是查询/插入实体,在nestjs中,你可以直接从实体类型本身完成。
即
而不是
我可以
这节省了一些粗糙的设置代码,并删除了一些导入。