繁体   English   中英

解释:如何绑定模型 <Document> 到容器对象

[英]inversify: how to bind Model<Document> to container object

我正在使用Typescript,均值堆栈,inversify-express-utils和inversifyjs作为IOC容器来开发应用程序。 我在将模型添加到容器的条目的inversify.config.ts文件中的条目接收到错误。 例如,

inversify.config.ts:

container.bind<Model<Document>>(TYPES.Document).to(User).whenTargetNamed("userSchema");

这似乎导致以下错误:“类型Model的参数不能分配给类型'new(... args:any [])=> Model'。类型'IUserModel'不能分配类型'Model'。类型'IUserModel'中缺少属性'findByid'。”

igroupmodel.ts:

export interface IUserModel extends IUser, Document

types.ts:

Document: Symbol("Model")

group.js(最后一行):

export let User = mongoose.model<IUserModel>("User", UserSchema);

将猫鼬模型注入容器的正确方法是什么? 我一直在寻找一个示例,演示如何与inversifyjs和mongoose一起使用,但尚未找到解决方案。

更新:当我用toConstantValue(User)替代to(User)时,我不再收到错误。 但是,我的日志文件似乎在我的日志文件中显示以下错误:

“错误:找不到与serviceIdentifier:Model匹配的绑定”

您可以在此处找到猫鼬+逆化的示例。 该示例使用洋葱架构,但是如果您不喜欢它,则应该可以使用其他架构...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM