Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 右节点&x2B;express+;mongodb应用程序体系结构_Javascript_Node.js_Mongodb_Express - Fatal编程技术网

Javascript 右节点&x2B;express+;mongodb应用程序体系结构

Javascript 右节点&x2B;express+;mongodb应用程序体系结构,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我对nodejs(以及js本身)还不熟悉,我正试图找出将mongodb和express结合起来的最佳方式。在一些npm模块中,我看到了一种构造,中间件在请求对象中设置了一个db属性,该对象包含当前的数据库连接。大概是这样的: app.use(function (req, res, next)) { /* creating connection */ req.db = createdConnection; next(); }); 我发现以类似的方式制作项目的整体结构非常方

我对nodejs(以及js本身)还不熟悉,我正试图找出将mongodb和express结合起来的最佳方式。在一些npm模块中,我看到了一种构造,中间件在请求对象中设置了一个db属性,该对象包含当前的数据库连接。大概是这样的:

app.use(function (req, res, next)) {
    /* creating connection */
    req.db = createdConnection;
    next();
});
我发现以类似的方式制作项目的整体结构非常方便,例如:

app.use(function (req, res, next)) {
    /* lots of requires, which provide necessary functionality */
    req.UsersModule = usersModule;
    req.ArticlesModule = articlesModule;
    /* and so on, plenty of them */
    next();
});

但我不确定这是个好主意。例如,在请求对象中具有与请求无关的功能在语义上是可怕的。更重要的是,我无法预测这种方式是否会破坏未来重要的事情。你能帮我解决这样的困境吗?

你可以在下面的

node express realworld示例应用程序

它具有以下处理功能:

  • 认证
  • 数据库访问(mongo)
  • 路线处理
  • 错误处理

感谢您提供的示例,它在某种程度上很有用。但它有猫鼬,我还没有计划在我的项目中使用。此外,我仍然不完全理解为什么更改请求对象几乎不是一个好的实践,这正是我创建这个问题的原因。