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

  2. शून्य मानों के साथ MongoDb क्वेरी सरणी

  3. हाइब्रिड क्लाउड बनाम फुल पब्लिक क्लाउड - पेशेवरों और विपक्ष

  4. MongoDB में समय डेटा को सामान्य/कम कैसे करें?

  5. डिबगिंग मानचित्र के लिए प्रिंट आउटपुट कैसे प्राप्त करें/मोंगोइड में कम करें?