得到这个众所周知的警告:
(node:15304) DeprecationWarning: Mongoose: mpromise (mongoose 的默认承诺库) 已弃用,请插入您自己的承诺库:http ://mongoosejs.com/docs/promises.html
通常的解决方法是使用像 Bluebird 这样的 Promise 库:
mongoose.Promise = require('bluebird');
(编辑)或者mongoose.Promise = global.Promise
,但是根据这篇文章和这篇文章,Bluebird 比 ES6 的原生 Promise 快 4 倍
但是,在 Nest 中,我们没有直接包含 Mongoose。我们包括 Nest 自己的@nestjs/mongoose
模块(在内部导入 Mongoose)。
import { MongooseModule } from '@nestjs/mongoose';
@Module({
controllers: [AdsController],
imports: [ MongooseModule.forRoot('mongodb://localhost/nest') ]
})
因此mongoose
未定义,因此我无法将 Bluebird 附加到它。
使用 NestJS 时如何在 Mongoose 中注入 Bluebird?