Node.js 有没有办法从NestJS中的模块文件访问数据库?

Node.js 有没有办法从NestJS中的模块文件访问数据库?,node.js,nestjs,nodemailer,Node.js,Nestjs,Nodemailer,我正在使用nestJS开发发送电子邮件功能; 有没有办法从数据库表中存储的字段中获取“主机”、“端口”、“用户”和“传递”?顺便说一下,我用的是打字机。 在.module文件中,我如下配置插件: 从'@nestjs/common'导入{Module}; 从“./controllers/mails.controller”导入{MailsController}; 从'@nestjs modules/mailer/dist/adapters/handlebar.adapter'导入{Handleba

我正在使用nestJS开发发送电子邮件功能; 有没有办法从数据库表中存储的字段中获取“主机”、“端口”、“用户”和“传递”?顺便说一下,我用的是打字机。 在.module文件中,我如下配置插件:

从'@nestjs/common'导入{Module};
从“./controllers/mails.controller”导入{MailsController};
从'@nestjs modules/mailer/dist/adapters/handlebar.adapter'导入{HandlebarsAdapter};
从“./services/mails.service”导入{MailsService};
从'@nestjs modules/mailer'导入{MailerModule};
@模块({
控制器:[MailsController],
提供者:[邮件服务],
进口:[
MailerModule.forRoot({
运输:{
主机:“smtp.gmail.com”,
港口:587,
ignoreTLS:没错,
安全:是的,
认证:{
用户:“”,
通行证:“,
},
},
默认值:{
致:'alain@dsi.fr',
发件人:“‘嵌套模块’”,
},
模板:{
目录:uuu dirname+'/templates',
适配器:新把手适配器(),
选项:{
严格:是的,
},
},
}),],
导出:[邮件服务],
})

导出类MailsModule{}
只要
MailerModule
有一个
forRootAsync
方法,您可以在其中定义
imports
inject
useFactory
,然后是的,您可以调用数据库,假设您已经为此设置了实体。可能是

@模块({
进口:[
MailerModule.forRootAsync({
导入:[TypeOrmModule.forFeature([MailerConfigEntity])],
inject:[getRepositoryToken(MailerConfigEntity)],
useFactory:async(mailerRepo:Repository)=>{
const config=wait mailerRepo.find();
返回{configObjectUsingConfig};
}),
}),
],
})

在这段代码中是否有任何方法可以使用service i developer?当然可以。将
injection
数组视为构造函数,只要将injections标记(通常是类,但有时是字符串)传递给它,就可以将它们注入
useFactory
方法,并在其构造函数中使用这些注入的属性