MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Автоматично увеличаване на последователността в NestJs/Mongoose

Възможно е да се регистрира плъгин за дадена схема с помощта на forFeatureAsync() метод на MongooseModule заедно с фабричен доставчик (т.е. useFactory ).

Следвайки примера от официалната документация :

@Module({
  imports: [
    MongooseModule.forFeatureAsync([
      {
        name: Cat.name,
        useFactory: () => {
          const schema = CatsSchema;
          schema.plugin(require('mongoose-autopopulate'));
          return schema;
        },
      },
    ]),
  ],
})
export class AppModule {}

Но с mongoose-sequence плъгин е необходимо да прехвърлите родния обект за свързване на Mongoose към инициализацията на плъгина. Това може да се постигне чрез инжектиране на връзката във фабричния доставчик с getConnectionToken метод:

import {getConnectionToken, MongooseModule} from '@nestjs/mongoose';
import * as AutoIncrementFactory from 'mongoose-sequence';

@Module({
  imports: [
    MongooseModule.forFeatureAsync([
      {
        name: Cat.name,
        useFactory: async (connection: Connection) => {
          const schema = CatsSchema;
          const AutoIncrement = AutoIncrementFactory(connection);
          schema.plugin(AutoIncrement, {inc_field: 'id'});
          return schema;
        },
        inject: [getConnectionToken('YOUR_CONNECTION_NAME')],
      },
    ]),
  ],
})
export class AppModule {}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Поддръжка на обхват с течение на времето

  2. MongoDB клиент хвърля FileNotFoundException в mscorlib

  3. Как да съкратим число до 3 знака след десетичната запетая

  4. MongoDB Spring сравнение на данни между полета

  5. Грешка при инсталиране на mongodb на ubuntu 16.04