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
. के साथ प्लगइन इनिशियलाइज़ेशन के लिए देशी नेवला कनेक्शन ऑब्जेक्ट को पास करना आवश्यक है। यह फ़ैक्टरी प्रदाता में 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 {}