nodejs + express + mongodb 项目搭建
1. mongodb 安装:https://www.cnblogs.com/1285026182YUAN/p/14092002.html
2. 创建express项目:https://www.cnblogs.com/1285026182YUAN/p/14178465.html
mongodb版本:4.4.2
nodejs版本:15.2.0
express版本:4.16.1
3. 安装依赖模块
npm install mongodb --save
npm install multer --save
4. 项目中新建一个api文件夹
a. 配置文件
新建api/config文件夹,里面增加db.js文件
module.exports.DB_URL="mongodb://root:123456@localhost:27017/IflyData";
b. 控制器文件
新建api/controller文件夹,里面增加一个public文件夹和一个common.js;
public文件夹里面放可供前端调用的接口,而common.js里面放通用的配置,这里放了一个返回响应头格式的代码,
再在public文件夹下面新建一个login.js文件。
common.js文件
'use strict' var multer = require('multer') var common = { sendJsonResponse: function(res,status,json) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); res.status(status); return res.json(json); }, sendResponse: function(res,status,msg) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); res.status(status); return res.send(msg); } }; module.exports = common;
login.js文件
'use strict'; var mongoose = require('mongoose'); var common = require('../common'); var Login = mongoose.model('Login'); module.exports.login = function (req, res) { var userName = req.userName; Login.find({ 'userName': userName }, function (err, data) { if (err) { common.sendJsonResponse(res, 500, err); return; } console.log(data); common.sendResponse(res, 200, data); }) }
5. 路由
在routes文件夹中增加login.js文件
var express = require('express'); var router = express.Router(); var db= require('../api/controller/public/login'); /* GET home page. */ router.get('/login', function (req, res, next) { db.login( function (response) { console.log(response); res.json(response); } ); }); module.exports = router;
6. 路由引入
修改app.js文件
a. 增加路由文件引用
var loginRouter = require('./routes/login');
b. 使用路由
app.use('/login', loginRouter);
7. 启动程序
npm start
如安装了 nodemon 也可直接输入 nodemon 来启动程序