如何解决这个表达式是不可构造的类型“xxxx”没有构造签名
我有一个错误,我无法理解我做错了什么。我正在按照 https://docs.nestjs.com/techniques/mongodb 中的说明进行操作。不同之处在于我创建了接口来构建实现服务的不同策略(为此我在 Model 中制作了一个包装器)。
import { Inject,Injectable } from "@nestjs/common";
import { Model } from "mongoose";
import { Documents } from "src/domain/schemas/documents.schema";
interface IDocumentRepository {
save();
}
interface IDocumentRepositoryFactory {
new(doc?: any): IDocumentRepository;
}
export function createIDocumentRepository(ctor: IDocumentRepositoryFactory,doc?: any): IDocumentRepository {
return new ctor(doc);
}
@Injectable()
export class DocumentRepository implements IDocumentRepository {
constructor(
private doc?: Documents,@Inject()
private repository?: Model<Documents>
) {}
/* others fields and methods */
save() {
this.doc.save()
}
}
someMethod(repository: DocumentRepository) {
/* others codes */
const mdoc = new this.repository(mongoModelDoc); // <<<<---- error
mdoc.save();
/* others codes */
}
它导致以下错误:
This expression is not constructable. Type 'DocumentRepository' has no construct signatures.
return new this.repository(document)
有什么问题以及如何解决才能满足此实现?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。