Javascript 如何在node.js中将数据从控制器传递到路由器?

Javascript 如何在node.js中将数据从控制器传递到路由器?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我有一个文件夹图,其中有两个文件控制器和路由器,现在我从控制器中的mongodb中提取了数据,我正试图通过路由器将其传递给它,这样我可以使用api将其发送给客户端,但我无法在路由器中得到响应,我知道什么是实现错误的 我提到了文件夹diagram,因为这个路由器只针对这个特定的型号,它只发送关于diagram的响应 diagram.controller.js var Diagram = require('./diagram.model'); var mongoose = require('mong

我有一个文件夹图,其中有两个文件控制器和路由器,现在我从控制器中的mongodb中提取了数据,我正试图通过路由器将其传递给它,这样我可以使用api将其发送给客户端,但我无法在路由器中得到响应,我知道什么是实现错误的

我提到了文件夹
diagram
,因为这个路由器只针对这个特定的型号,它只发送关于diagram的响应

diagram.controller.js

var Diagram = require('./diagram.model');
var mongoose = require('mongoose');
module.exports = function index() {
       Diagram.find({}, function(err, res) {
         if (!err) {
           console.log('Response from controller', res);
           return res;
         }
       });
     }
diagram.router.js

var express = require('express');
var controller = require('./diagram.controller');

var router = express.Router();

console.log('THis is in router',controller.index());
router.get('/getAllDiagram',controller.index());

module.exports = router;

您必须稍微修改一下代码

必须更改的第一个方面是如何将
index
函数传递给路由器。请确保不要直接执行它。当请求通过特定路径到达服务器时,
express
将调用此函数

diagram.router.js

下一个变化是
索引
函数本身。函数通过
express
获取两个参数:
req
——请求对象和
res
——响应对象:

diagram.controller.js

var Diagram = require('./diagram.model');
var mongoose = require('mongoose');
module.exports = function index() {
       Diagram.find({}, function(err, res) {
         if (!err) {
           console.log('Response from controller', res);
           return res;
         }
       });
     }

请注意,我将变量
res
重命名为
result

您必须稍微修改代码

必须更改的第一个方面是如何将
index
函数传递给路由器。请确保不要直接执行它。当请求通过特定路径到达服务器时,
express
将调用此函数

diagram.router.js

下一个变化是
索引
函数本身。函数通过
express
获取两个参数:
req
——请求对象和
res
——响应对象:

diagram.controller.js

var Diagram = require('./diagram.model');
var mongoose = require('mongoose');
module.exports = function index() {
       Diagram.find({}, function(err, res) {
         if (!err) {
           console.log('Response from controller', res);
           return res;
         }
       });
     }

请注意,我将变量
res
重命名为
result

您是否在
图表中重命名了该变量。查找({},函数(err,result)
结果
?否则,它会被覆盖,从而导致声明的异常。好的,您可以将代码粘贴到摘要中并发布到此处吗?无法访问Gist到目前为止,答案中的代码是正确的。是否有机会将您的代码发布到某个地方?粘贴箱等?您是否重命名了
图中的变量。查找({},函数(错误,结果)
结果
?否则,它会被覆盖,从而导致声明的异常。好的,你能将你的代码粘贴到摘要中并发布在这里吗?无法访问摘要到目前为止,答案中的代码是正确的。有没有机会将你的代码发布到某个地方?粘贴箱等。?