MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Trình tự tăng dần tự động trong NestJs / Mongoose

Có thể đăng ký một plugin cho một lược đồ nhất định bằng cách sử dụng forFeatureAsync() phương thức của MongooseModule cùng với nhà cung cấp nhà máy (tức là useFactory ).

Làm theo ví dụ từ tài liệu chính thức :

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

Tuy nhiên với mongoose-sequence plugin cần phải chuyển đối tượng kết nối Mongoose bản địa đến quá trình khởi tạo plugin. Điều này có thể đạt được bằng cách đưa kết nối vào nhà cung cấp của nhà máy với getConnectionToken phương pháp:

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. C # MongoDb Connect to Replica Set Issue

  2. Truy vấn lồng trong mongoDB

  3. Kết nối với MongoDB Atlas Cluster db bằng ứng dụng gốc phản ứng

  4. Làm cách nào để chèn HTML vào Mongodb?

  5. Hiệu suất của nhà điều hành Mongo $