angularjs - 在单个 Controller MEAN.IO 中使用多个模型

标签 angularjs node.js mongodb express mean.io

当谈到平均堆栈时,我是一个新手。我生成了一个包 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/

相关文章:

javascript - Node.js 中的 NULL if 语句执行错误

javascript - 在 express 中捕获来自 mongoose 查询的错误

javascript通过从另一个集合中查找来更新mongodb记录多个字段

javascript - Mongoose 的默认数据库数据

mongodb - 如何使用 golang 的 mgo 包进行类似查询

javascript - 使用数组调用 AngularJS 函数

AngularJS - 如何路由到不同模块中的 Controller

javascript - 如何在 AngularJS 中编写通用排序

node.js - DynamoDB 扫描,ExpressionAttributeValues 意外键 NodeJS 中的错误

javascript - 如何使用angularjs在CSS伪元素中显示HTML字符实体