当谈到平均堆栈时,我是一个新手。我生成了一个包 ModelA。我还生成了 ModelB。我现在尝试在 ModelA Controller 中引用 2 个模型。例如
模型/ModelA.js
var ModelA = new Schema({
name: String
});
mongoose.model('ModelA', ModelA);
模型/ModelB.js
var ModelB = new Schema({
name: String
});
mongoose.model('ModelB', ModelB);
包/ Controller /ModelA.js
var mongoose = require('mongoose'),
ModelA = mongoose.model('ModelA'),
ModelB = mongoose.model('ModelB'),
_ = require('lodash');
我不断收到 MissingSchemaError:尚未为模型“ModelB”注册架构。我想我的问题是如何在 Controller /ModelA 中引用 modelB?
最佳答案
您可能想要如下所示的内容:
模型/ModelA.js
module.exports = mongoose.model('ModelA', ModelA);
然后在任何其他文件中:
var ModelA = require('./path/to/Model/ModelA.js');
ModelA.find({}); // etc.
当在另一个文件中 require
时,module.exports
将返回它的值。然后,当您需要实例/对象时,您可以将 require
分配给 var
并对其进行操作。在本例中,ModelA
是一个 Mongoose Model 对象,可以在任何包含它的地方使用。
关于angularjs - 在单个 Controller MEAN.IO 中使用多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29931175/