inversify:如何将Model <document>绑定到容器对象

时间:2017-07-05 01:08:55

标签: node.js mongodb inversion-of-control inversifyjs

我正在使用typescript,mean stack,inversify-express-utils和inversifyjs开发一个应用程序作为我的IOC容器。我在inversify.config.ts文件中为我的条目收到错误,该文件为将容器添加模型的条目。例如,

inversify.config.ts:

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

这似乎导致以下错误: &#34;模型类型的参数不能分配给&#39; new(... args:any [])=&gt;类型的参数。型号&#39 ;.输入&#39; IUserModel&#39;不是可分配的类型&#39;模型&#39;。物业&#39; findByid&#39;类型&#39; IUserModel&#39;。&#34;

中缺少

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)时,我不再收到错误。但是,我的日志文件似乎在我的日志文件中显示以下错误:

  

&#34;错误:找不到serviceIdentifier的匹配绑定:   模型&#34;

1 个答案:

答案 0 :(得分:2)

您可以找到mongoose + inversify here的示例。该示例使用onion architecture,但如果您不喜欢它,您应该可以使用不同的架构......