使用多个模型作为单个控制器MEAN.IO

当谈到平均值时,我是一个新手。 我生成了一个包ModelA。 我也生成了ModelB。 我现在尝试在ModelA控制器中引用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); 

包/位指示/ ModelA.js

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

我一直得到MissingSchemaError:架构尚未注册模型'ModelB'。 我想我的问题是如何在控制器/ 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模型对象,无论它被包含在哪里都可以使用。