sql >> Database teknologi >  >> NoSQL >> MongoDB

Automatisk stigningssekvens i NestJs/Mongoose

Det er muligt at registrere et plugin til et givet skema ved hjælp af forFeatureAsync() metoden for MongooseModule sammen med en fabriksudbyder (dvs. useFactory ).

Efter eksemplet fra den officielle dokumentation :

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

Dog med mongoose-sequence plugin er det nødvendigt at videregive det oprindelige Mongoose-forbindelsesobjekt til plugin-initialiseringen. Dette kan opnås ved at injicere forbindelsen til fabriksudbyderen med getConnectionToken metode:

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. Hvordan kan jeg få værdien fra Redis og sætte den i en variabel i NGiNX?

  2. Kaldning af en lagret procedure i MongoDB via C#

  3. Hvordan tæller man produktgruppe klogt med feltnavn i Monogodb?

  4. Mongoose bulk opdatering operation