1.3.0 • Published 1 year ago

@voiceflow/nestjs-mongodb v1.3.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

NestJS MongoDB

MongoDB, but for NestJS

Installation

yarn add @voiceflow/nestjs-mongodb mongodb
yarn add -D @types/mongodb

Usage

The mongo module can be setup in a couple different ways using forRootAsync:

  • A MongoOptions object can be provided via useValue.
  • A useFactory function can be provided to return a MongoOptions object (or a promise for one!).
  • A class implementing MongoOptions can be provided using useClass.
import { MongoModule, MongoService, MongoOptions } from '@voiceflow/nestjs-mongodb';

@Module({
  imports: [
    MongoModule.forRootAsync({
      imports: [],

      // Union field, one of `useValue`, `useFactory`, or `useClass`:
      useValue: {
        url: 'mongodb://<auth>@<your-mongo-db-address>/<db_name>?<params>',
      },
      useFactory: () => getMongoConfig(),
      useClass: MongoConfigService,
    }),
  ],
})
export class AppModule {}

If you have an existing redis connection that you'd like to reuse, you can provide that in forRoot.

import { MongoClient } from 'mongodb';

const mongoConnection = MongoClient.connect(...)

@Module({
  imports: [
    MongoModule.forRoot(mongoConnection),
  ],
})
export class AppModule {}

Once the MongoModule is globally registered, MongoService can be injected in other providers without having to import MongoModule again.

1.3.0

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.0

3 years ago

1.2.1

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago