Я только что узнал о NestJS, и некоторое время пытался получить приложение для подключения к mysql и mongodb, но просто не могу заставить его работать.Я получаю следующую ошибку:
Nest не может разрешить зависимости AppService (UserMRepository,?).Убедитесь, что аргумент по индексу [1] доступен в контексте AppModule.
Это простое приложение, сгенерированное NestJS, которое просто подключается к двум базам данных и создает запись в каждойбаза данных, когда вызывается getHello ().
app.module.ts
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { User } from './entity/User.entity';
import { UserM } from './entity/User.mongo';
@Module({
imports: [
TypeOrmModule.forRoot({
"name": "default",
"type": "mongodb",
"host": "localhost",
"port": 27017,
"database": "typeorm",
"useNewUrlParser": true,
"useUnifiedTopology": true,
"entities": [
"src/**/**.mongo.ts",
"dist/**/**.mongo.js"
],
}),
TypeOrmModule.forRoot({
"name": "mysql",
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "typeorm",
"password": "typeorm",
"database": "typeorm",
"entities": [
"src/**/**.entity.ts",
"dist/**/**.entity.js"
],
}),
TypeOrmModule.forFeature([UserM]),
TypeOrmModule.forFeature([User], 'mysql'),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
app.service.ts
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, MongoRepository, getRepository, DeleteResult } from 'typeorm';
import { User} from "./entity/User.entity";
import { UserM } from './entity/User.mongo';
@Injectable()
export class AppService {
constructor(
@InjectRepository(UserM)
@InjectRepository(User)
private readonly userMRepository: Repository<UserM>,
private readonly userRepository: Repository<User>,
) {}
async getHello(): Promise<string> {
var userM = new UserM();
userM.firstName = "Timber";
userM.lastName = "Saw";
userM.age = 25;
var newUser1 = await this.userMRepository.save(userM);
var user = new User();
user.firstName = "Timber";
user.lastName = "Saw";
user.age = 25;
var newUser2 = await this.userRepository.save(user);
return;
}
}
Я могу подтвердить, что будет успешно работать с каждой базой данных в отдельности, но когда я попробую обавместе это терпит неудачу.Я прочитал все посты на эту тему и пробовал разные способы ее настройки, поэтому не уверен, что я делаю неправильно.Может кто-то видеть, что я делаю неправильно?
Пол