NestJS TypeOrmModule 存储库注入似乎无法正常工作

NestJS TypeOrmModule repository injection seems not working properly

我正在尝试将用户存储库注入到 UserService,但似乎没有建立 typeorm 连接。我用谷歌搜索了这个错误,但似乎没有太多资源。

这是错误日志

[Nest] 18226  - 2021. 11. 30. 오후 7:10:19   ERROR [ExceptionHandler] 
Nest can't resolve dependencies of the UserRepository (?). 
Please make sure that the argument Connection at index [0] is available 
in the TypeOrmModule context.

Potential solutions:
- If Connection is a provider, is it part of the current TypeOrmModule?
- If Connection is exported from a separate @Module, is that module imported within TypeOrmModule?
  @Module({
    imports: [ /* the Module containing Connection */ ]
  })

这是代码

user.service.ts


@Injectable()
export class UserService {
  constructor(
    @InjectRepository(User) private readonly user: Repository<User>,
  ) {}

  ...
}

user.module.ts


@Module({
  imports: [TypeOrmModule.forFeature([User])],
  providers: [UserService],
  exports: [UserService],
  controllers: [UserController],
})
export class UserModule {}

app.module.ts


@Module({
  imports: [
    ConfigModule.forRoot({
      ...
    }),
    TypeOrmModule.forRoot({
      type: 'postgres',
      ...,
      synchronize: process.env.NODE_ENV !== 'prod',
      logging:
        process.env.NODE_ENV !== 'prod' && process.env.NODE_ENV !== 'test',
      entities: [User, Wiki],
    }),
    MongooseModule.forRoot(process.env.MONGODB_ROOT),
    UserModule,
    WikiModule,
  ],
  controllers: [],
  providers: [],
})
export class AppModule {}

对于正在为这个问题苦苦挣扎的人,只需尝试 TypeOrmModule.forRootAsync()

TypeOrmModule.forRootAsync({
  useFactory: () => ({
    type: 'postgres',
    ...,
    synchronize: process.env.NODE_ENV !== 'prod',
    logging:
      process.env.NODE_ENV !== 'prod' && process.env.NODE_ENV !== 'test',
  }),
})