【问题标题】:Set mongoose global options in @nestjs/mongoose在 @nestjs/mongoose 中设置 mongoose 全局选项
【发布时间】:2021-01-01 09:10:49
【问题描述】:

Mongoose 文档说我们可以设置全局选项,例如 mongoose.set('returnOriginal', false)

现在我在nestjs 中使用@nestjs/mongoose,但我找不到描述如何进行此全局选项设置的文档。

我确实找到了通过InjectConnection更改设置的方法

import { Module } from '@nestjs/common';
import { MongooseModule, InjectConnection } from '@nestjs/mongoose';
import { Connection } from 'mongoose';
...
@Module({
  imports: [
    MongooseModule.forRootAsync({
      inject: [ConfigService],
      useFactory: (configService: ConfigService) => ({
        uri: configService.get('DB_URI'),
        useNewUrlParser: true,
        useUnifiedTopology: true,
        useFindAndModify: false,
      }),
    }),
    ...
  ],
})
export class AppModule {
  constructor(@InjectConnection() private readonly connection: Connection) {
    connection.base.set('returnOriginal', false);
  }
}

这段代码对我来说很好用。但是在@types/mongoose 中,Connection 类型中没有属性base.set。我必须省略注入 connection 的类型定义。

我的问题是这是否是设置猫鼬全局选项的标准方法?如果没有,我该怎么做?

【问题讨论】:

  • 是的,在 NestJs 结束时定义了一些文档问题。

标签: mongoose nestjs


【解决方案1】:

由于安装了包mongoose,我可以直接设置选项。

...
import * as mongoose from 'mongoose';
...
mongoose.set('returnOriginal', false);

@Model({...})
export class AppModule {...}

【讨论】:

    猜你喜欢
    • 2022-07-14
    • 1970-01-01
    • 2021-09-01
    • 2020-11-11
    • 2021-10-15
    • 2020-10-17
    • 2021-08-22
    • 2021-11-15
    • 2020-09-29
    相关资源
    最近更新 更多