gpt4 book ai didi

javascript - 从 MEAN.IO 中的其他包加载模型

转载 作者:行者123 更新时间:2023-12-01 17:52:33 24 4
gpt4 key购买 nike

在以下项目结构中,我在 2 个自定义 MEAN.IO 包之间存在依赖关系

/自定义

  • 包1
    • 服务器
      • 控制者
      • 路线
      • 模特
        • model1.js
  • 包2
    • 服务器
      • 控制者
      • 路线
      • 模特
        • model2.js

model1 和 model2 都在它们自己的 Controller 中使用,但我想实现一个同时使用两者的算法。

我的第一个猜测是:

var Model2 = mongoose.model('Model2')

但这会返回一个错误:

MissingSchemaError: Schema hasn't been registered for model "Model2".

我的第二个猜测是再次包含模型:

var model = require('../../../package2/server/models/model2'),
Meeting = mongoose.model('Meeting'), ...

但仍然没有运气,有没有人知道如何在 mean.io 中包含来自另一个包的模型?

最佳答案

是的,你可以。

每个模型对象都由 mongoose 处理,并且由于 mongoose 是全局的,您可以只调用它的模式。

您必须使用 mongoose.model(modelName, schema) 将您的模型添加到 mongoose

在你的 model.js 中做

var mongoose  = require('mongoose'),
Schema = mongoose.Schema,
crypto = require('crypto'),
_ = require('lodash');
var Model1Schema = new Schema({ ... });
mongoose.model('Model1', ModelSchema);

在你的 Controller 中你可以这样调用它

var mongoose = require('mongoose'),
Model1 = mongoose.model('Model1'),
_ = require('lodash');

在这里查看更多 http://mongoosejs.com/docs/guide.html

关于javascript - 从 MEAN.IO 中的其他包加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com