【问题标题】:inversify: how to bind Model<Document> to container objectinversify:如何将 Model<Document> 绑定到容器对象
【发布时间】:2017-07-05 01:08:55
【问题描述】:

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

inversify.config.ts:

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

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

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 找到匹配的绑定: 型号”

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 2010-10-27
      • 1970-01-01
      • 2016-04-26
      相关资源
      最近更新 更多