使用多个模型作为单个控制器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模型对象,无论它被包含在哪里都可以使用。