返回

NestJs如何连接数据库

前端

NestJs连接数据库

NestJs提供了对各种数据库的支持,包括关系型数据库和非关系型数据库。连接数据库的步骤如下:

  1. 安装数据库驱动包
  2. 配置数据库连接
  3. 创建数据库连接
  4. 使用数据库连接

1. 安装数据库驱动包

NestJs支持各种数据库,因此您需要首先安装相应的数据库驱动包。

对于MongoDB,您可以使用@nestjs/mongoose包。

对于MySQL,您可以使用@nestjs/typeorm@nestjs/sequelize包。

对于PostgreSQL,您可以使用@nestjs/typeorm@nestjs/pg包。

2. 配置数据库连接

在安装了数据库驱动包之后,您需要在app.module.ts文件中配置数据库连接。

对于MongoDB,您需要使用MongooseModule.forRoot()方法来配置数据库连接。

import { MongooseModule } from '@nestjs/mongoose';

@Module({
  imports: [
    MongooseModule.forRoot('mongodb://localhost:27017/nestjs'),
  ],
})
export class AppModule {}

对于MySQL,您可以使用TypeOrmModule.forRoot()方法来配置数据库连接。

import { TypeOrmModule } from '@nestjs/typeorm';

@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'root',
      password: 'password',
      database: 'nestjs',
      entities: [User],
      synchronize: true,
    }),
  ],
})
export class AppModule {}

对于PostgreSQL,您可以使用TypeOrmModule.forRoot()PgModule.forRoot()方法来配置数据库连接。

import { TypeOrmModule } from '@nestjs/typeorm';

@Module({
  imports: [
    TypeOrmModule.forRoot({
      type: 'postgres',
      host: 'localhost',
      port: 5432,
      username: 'postgres',
      password: 'password',
      database: 'nestjs',
      entities: [User],
      synchronize: true,
    }),
  ],
})
export class AppModule {}

3. 创建数据库连接

在配置了数据库连接之后,您需要创建数据库连接。

对于MongoDB,您可以使用mongoose.connect()方法来创建数据库连接。

import * as mongoose from 'mongoose';

mongoose.connect('mongodb://localhost:27017/nestjs', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

对于MySQL,您可以使用typeorm.createConnection()方法来创建数据库连接。

import { createConnection } from 'typeorm';

createConnection({
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'password',
  database: 'nestjs',
  entities: [User],
  synchronize: true,
}).then(() => {
  console.log('Successfully connected to the database.');
}).catch((err) => {
  console.error('Error connecting to the database.', err);
});

对于PostgreSQL,您可以使用typeorm.createConnection()pg.connect()方法来创建数据库连接。

import { createConnection } from 'typeorm';

createConnection({
  type: 'postgres',
  host: 'localhost',
  port: 5432,
  username: 'postgres',
  password: 'password',
  database: 'nestjs',
  entities: [User],
  synchronize: true,
}).then(() => {
  console.log('Successfully connected to the database.');
}).catch((err) => {
  console.error('Error connecting to the database.', err);
});

4. 使用数据库连接

在创建了数据库连接之后,您就可以使用数据库连接来进行数据库操作了。

对于MongoDB,您可以使用mongoose.model()方法来获取数据库模型。

const UserModel = mongoose.model('User', new mongoose.Schema({
  name: String,
  email: String,
}));

对于MySQL,您可以使用typeorm.getRepository()方法来获取数据库模型。

const UserRepository = createConnection().getRepository(User);

对于PostgreSQL,您可以使用typeorm.getRepository()pg.query()方法来获取数据库模型。

const UserRepository = createConnection().getRepository(User);

以上就是NestJs连接数据库的步骤,希望对您有所帮助。