/nest-nedb

NEDB module for Nest framework (node.js)

Primary LanguageTypeScriptMIT LicenseMIT

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.

NPM Version Package License NPM Downloads Travis Linux Coverage Discord Backers on Open Collective Sponsors on Open Collective

Description

The NEDB module for Nest.

Installation

$ npm i --save @hungtcs-box/nest-nedb nedb
$ npm i --save-dev @types/nedb

Quick Start

  1. First in your model file, extends the base Model
import { Model } from '@hungtcs-box/nest-nedb';

export class UserModel extends Model {
  username?: string;

}
  1. Import NedbModule.forFeature in your UsersModule
import { UserModel } from './models/user.model';
import { NedbModule } from '@hungtcs-box/nest-nedb';

@Module({
  imports: [
    PasswdModule,
    NedbModule.forFeature([
      {
        model: UserModel,
        indexes: {
          username: {
            unique: true,
          },
        },
      },
    ]),
  ],
  exports: [
    UsersService,
  ],
  providers: [
    UsersService,
  ],
  controllers: [
    UsersController,
  ],
})
export class UsersModule {

}
  1. Import NedbModule.forRoot in your AppModule
import { NedbModule } from '@hungtcs-box/nest-nedb';

@Module({
  imports: [
    NedbModule.forRoot(`path/to/your/database/file`),
  ],
  controllers: [
    AppController,
  ],
})
export class AppModule {

}
  1. Now you can inject the nedb DataStore in your UserService
import { InjectDatastore } from '@hungtcs-box/nest-nedb';
import DataStore from 'nedb';

@Injectable()
export class UsersService {

  constructor(
      @InjectDatastore(UserModel) private readonly dataStore: DataStore<UserModel>) {

  }

}

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest and Nedb is MIT licensed.