【发布时间】:2022-01-10 03:21:49
【问题描述】:
我对 NestJs 非常陌生,我想构建一个使用 MongoDB 的 Web 应用程序。 所以我要做的是,只要应用程序加载 mongodb 连接,就应该在回调函数中添加一些逻辑。
有了 Express 框架,这就是我想做的逻辑代码。
mongoose
.connect(mongoDB, {
user: process.env.MONGODB_USER,
pass: process.env.MONGODB_PASSWORD,
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(async () => {
//don't show the log when it is test
if (process.env.NODE_ENV !== "test") {
console.log("Connected to %s", mongoDB);
console.log("MongoDB is connected ... \n");
initDB.InitializeDB();
dailyReport.DailyReport();
}
})
.catch((err) => {
console.error("App starting error:", err.message);
process.exit(1);
});
在上面的代码中有两个函数。 第一个:记录数据库连接成功或失败 第二:成功时我会初始化一些集合,如果失败则退出应用程序
我看到了 NestJs 文档来实现这个逻辑here
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
@Module({
imports: [MongooseModule.forRoot('mongodb://localhost/nest')],
})
export class AppModule {}
但我不确定 MongoDB 连接的回调函数在哪里。 谁能通过使用 NestJs 实现 Express 逻辑来给我答案?
【问题讨论】:
-
在应用模块中你可以添加这个构造函数。构造函数(@InjectConnection() 私有连接:连接){}
-
您能否提供一些更详细的答案或参考解释处理回调工作流的完整过程?