nodejs + express + mangodb 项目搭建

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 来启动程序

原文地址:https://www.cnblogs.com/1285026182YUAN/p/14178603.html