Javascript 从服务器控制器访问MEANjs中的API端点
所以我有一个问题,我正在处理我的应用程序中的“following”特性。重要的是,我有两种型号:Javascript 从服务器控制器访问MEANjs中的API端点,javascript,node.js,api,mean-stack,meanjs,Javascript,Node.js,Api,Mean Stack,Meanjs,所以我有一个问题,我正在处理我的应用程序中的“following”特性。重要的是,我有两种型号: 遵循和通知 当我点击前端的follow按钮时,我从follow.client.controller.js运行函数,该函数将发布到API端点/API/follows,该端点对应于follow.server.controller.js,然后执行follows模型上的更新操作-简单。好吧,这就是它的工作原理(对我来说也是如此) 但是在follows.server.controller.js中,我还想在/A
遵循
和通知
当我点击前端的follow按钮时,我从follow.client.controller.js
运行函数,该函数将发布到API端点/API/follows
,该端点对应于follow.server.controller.js
,然后执行follows
模型上的更新操作-简单。好吧,这就是它的工作原理(对我来说也是如此)
但是在follows.server.controller.js
中,我还想在/API/notifications
处调用post-to-API端点,该端点对应于notifications.server.controller.js
,但我找不到正确的方法来实现这一点。任何帮助都将不胜感激
我不想从前端再次调用来添加通知,因为它应该是自动的=如果用户开始跟踪某人,信息将同时保存在两个模型中。您可以在服务器路由中添加中间件
app.route('/api/follows')
.post(notification.firstFunction, follows.secondFunction);
现在在控件中添加2个方法。首先对db进行调用,并将某个结果的数据添加到请求对象,请求对象将转发给第二个方法
exports.firstFunction= function(req, res, next) {
Notification.doSometing({
}).exec(function(err, result) {
if (err) return next(err);
req.yourValueToPassForward = result
next(); // <-- important
});
};
exports.secondFunction= function(req, res) {
//...
};
谢谢你,迈克。第一个解决方案是我需要的,我对MEANjs还是新手,所以你能告诉我这种知识的来源是什么吗?你有关于MEANjs的书/文章可以推荐吗?或者这只是express/node的文档?(当然,我不是要你去谷歌爬网,只是想知道你是否有一些fav)meanstack没有很好的知识基础。您必须识别代码的哪些部分属于哪种技术。后端控制器和模型使用Mongoosejs库,该库提供与mongoDB和mongoose模型通信的方法。()其他文件大多是Express配置文件(例如Rountigs),您可以在此处找到相关文档:您也可以根据第一个请求成功的情况发出两个http请求,但此处的第一个选项更好
var promise = Meetups.find({ tags: 'javascript' }).select('_id').exec();
promise.then(function (meetups) {
var ids = meetups.map(function (m) {
return m._id;
});
return People.find({ meetups: { $in: ids }).exec();
}).then(function (people) {
if (people.length < 10000) {
throw new Error('Too few people!!!');
} else {
throw new Error('Still need more people!!!');
}
}).then(null, function (err) {
assert.ok(err instanceof Error);
});