在 Nestjs 中添加 global Mongoose Plugin 是很常见的事情,但是在 Mongoose 5.10.5 版本之后,你需要使用内置的类型声明来进行编码。下面是解决该问题的步骤:
npm install @nestjs/mongoose mongoose
npm install --save-dev @types/mongoose
import { MongooseModule } from '@nestjs/mongoose';
import { Module } from '@nestjs/common';
import { MyPlugin } from './plugins/my.plugin';
@Module({
imports: [
MongooseModule.forRoot('mongodb://localhost:27017/myapp', {
connectionFactory: (connection) => {
//设置插件
connection.plugin(MyPlugin);
return connection;
},
}),
],
})
export class AppModule {}
import { Schema } from 'mongoose';
export function MyPlugin(schema: Schema) {
schema.add({ createdAt: Date });
}
这就是在 Nestjs 中添加 global Mongoose Plugin 的步骤,通过这个方法你可以在给定项目中使用 Mongoose Plugin。