无法配置nestjs / mongoose,初始数据库

问题描述 投票:1回答:1

我不确定我是否了解nestjs / mongoose的配置。

我没有得到任何结果,并假设它正在查询我的管理数据库。

app.module.ts:

import { ConfigService } from './config/config.service';
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';

import { ConfigModule } from './config/config.module';
import { CaseAssetsModule } from './case-assets/case-assets.module';

@Module({
  imports: [
    ConfigModule,
    CaseAssetsModule,
    MongooseModule.forRootAsync({
      imports: [ConfigModule],
      useFactory: async (configService: ConfigService) => ({
        uri: configService.getString('mongodb.uri'),
        useNewUrlParser: true,
        useUnifiedTopology: true,
      }),
      inject: [ConfigService],
    })
  ],
  controllers: [],
  providers: [],
})
export class AppModule { }

我的配置设置:

mongodb.uri = mongodb://<<myuser>>:<<mypwd>>#@<<myserver>>:27017/admin

case-assets.module.ts:

import { AssetSchema } from './asset.schema';
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { CaseAssetsController } from './case-assets.controller';
import { CaseAssetsService } from './case-assets.service';

@Module({
  imports: [MongooseModule.forFeature([{ name: 'Asset', schema: AssetSchema, collection: 'assets' }])],
  controllers: [CaseAssetsController],
  providers: [CaseAssetsService]
})
export class CaseAssetsModule {}

我在哪里指定要连接的数据库?我指定admin是因为这是我进行身份验证的数据库。

吉娜

mongodb mongoose nestjs
1个回答
1
投票

您已经通过指定给MongooseModule.forRootAsync()方法的配置确定了要连接的数据库。从那里,MongooseModule.forFeature()中使用的任何东西都使用相同的配置(即相同的数据库)

© www.soinside.com 2019 - 2024. All rights reserved.