【问题标题】:Change Typegoose collection name after initialize初始化后更改 Typegoose 集合名称
【发布时间】:2021-06-30 00:35:24
【问题描述】:

我正在使用 typegoose 创建模型。在创建模型期间,我发现可以提供集合名称。但是一旦分配,我就无法找到修改它的方法。

export const MyModel: ModelType<MyModel> = new MyModel().setModelForClass(MyModel, {
    existingMongoose: mongoose,
    schemaOptions: {collection: 'my_collection_name'}
});

所以在上面的MyModel,我想更改我正在导入的集合名称。

如何更改模型中的集合名称?还是我只能选择在我想使用的地方创建这个模型?

【问题讨论】:

    标签: mongodb mongoose typegoose


    【解决方案1】:

    没关系。我只需要制作导出对象的功能。所以我把它改成了下面,这样我就可以在我使用这个模型的地方传递collectionName。

    const DocumentFieldBooleanValueModel = (collectionName: string) : ReturnModelType<typeof DocumentFieldBooleanValue, BeAnObject> => {
      return getModelForClass(DocumentFieldBooleanValue, {
        schemaOptions: { collection: collectionName },
      });
    };
    
    export { DocumentFieldBooleanValueModel };
    

    所以现在上面导出的模型函数我可以如下使用。

    DocumentFieldBooleanValueModel('MyCustomCollectionName')
    

    它会给出相同的 typegoose 模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 2021-03-24
      • 2012-12-05
      • 2019-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多