在平均筹码方面,我是一个新人。我生成了一个包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”注册架构。我想我的问题是如何在控制器/模型A中引用模型B?
最佳答案
您可能想要以下内容:
型号/ModelA.js
module.exports = mongoose.model('ModelA', ModelA);
然后在任何其他文件中:
var ModelA = require('./path/to/Model/ModelA.js');
ModelA.find({}); // etc.
module.exports
在另一个文件中require
d时将返回其值。然后,当您需要实例/对象时,可以将require
分配给var
并对其执行操作。在这种情况下,ModelA
是一个Mongoose模型对象,可以在包含它的任何地方使用。