我不熟悉使用MERN创建一个完整的堆栈应用程序(使用React而不是Angular,因为我熟悉React)。我一直在寻找教程来学习如何将我的服务器端代码(express / mongo)分开,因为我最初有我的Express路由,MongoDB连接和我在server.js文件中定义的API请求(只是为了得到)工作的东西)。
目前,我的文件夹结构和我定义路由和数据库的方式如下:
此时,我不知道在哪里连接我的MongoDB。以前,我连接到server.js中的数据库,但如果我想使用我的模型查询我的数据库,我是否在每个使用模型的路径文件中定义我的连接?有没有办法让我只调用一次mongoose.connect并确保我始终连接到我的数据库?
// Connect to mongodb
mongoose.connect(process.env.MONGOLAB_URI || db_url)
userRoutes.js
-root folder
-public
-src
-server
-db
-models
-userModel.js
-routes
-userRoutes.js
-routes.js
-server.js
答案 0 :(得分:1)
在单独的文件中添加mongoose连接。然后使用let schema = require('_path_to_file_')
链接该连接,无论您需要链接到数据库。
答案 1 :(得分:1)
我经常看到以下dir结构w.r.t全栈JS应用程序
同样地,我看到实现了类似于以下
的修改后的FHS方法答案 2 :(得分:0)
使用MongoDB,Express,Node JS构建API的文件夹结构
/ * server.js /*package.json
//database.js
module.exports = {
url:'mongodb://localhost:27017/db_name'
}