express+mongodb 配置接口

MongoDB 安装及配置

首先你需要肯定是要安装 MongoDB 的 👀

安装教程

初始化项目

初始化项目,安装 Express 框架 ,创建服务器

  • npm init
  • npm i express

在跟目录下创建入口文件app.js

// node 13.2 以上支持 ES6 Modules
// 在 package.json 中添加 "type": "module" 即可
import express from "express";

const app = express();

app.listen(5000, function () {
  console.log("app is running at port 5000");
})
连接MongoDB

mongoose官网

安装 mongoose ,配置连接文件

mongoose是node中的一个模块,让node借助这个模块来实现管理mongoDB的程序,不需要通过命令管理,而是通过程序管理连接数据库

npm i mongoose

在根目录下创建 plugins 以及其中配置文件 db.js

import mongoose from "mongoose";
const ip = 'localhost';
const port = 27017;
const dbName = 'admin';

// connect
mongoose.connect(`mongodb://${ip}:${port}/${dbName}`, {
  useNewUrlParser: true
});

// connect success
mongoose.connection.on('connected', () => {
  console.log('mongoose connection success');
})

// connect error
mongoose.connection.on('error', (error) => {
  console.log(`mongoose connection error: ${error}`);
})

// disconnect
mongoose.connection.on('disconnected', () => {
  console.log('Mongoose connection disconnected');
})

export default mongoose;

然后就可以在入口文件app.js中导入使用

import mongoose from "./plugins/db.js";

配置数据模型
  • Mongoose 一切始于 Schema
  • 再将 Schema 转换于 model
  • 得到 model 之后就可以进行 CUDR 了

在根目录下创建model文件夹,配置模型,例如 Person 模型 Person.js

import mongoose from "mongoose";
const Schema = mongoose.Schema;

let PersonSchema = new Schema({
  'name': String,
  'age': Number,
  'sex': String
})

export default mongoose.model('Person', PersonSchema, 'Person')
配置路由接口

在根目录下创建routes/admin/index.js目录

import express from "express";
import Person from "../../model/Person.js";
const router = express.Router();

let result = {
  code: 200,
  msg: 'ok'
}

router.get('/getList', async (req, res) => {
  let { start, limit } = req.query;
  if (start == undefined) {
    start = 0;
  }
  if(limit == undefined) {
    limit = 10;
  }
  let data = await Person.find();
  console.log(data);
  res.json({...result,data})
})

export default router;

在app.js中应用路由

import apiRouter from "./routes/admin/index.js"

app.use('/api', apiRouter);

import express from "express";
import mongoose from "./plugins/db.js";
import apiRouter from "./routes/admin/index.js"

const app = express();
app.use('/api', apiRouter);

app.listen(5000, function () {
  console.log("app is running at port 5000");
})
测试

node app 启动服务器
在这里插入图片描述
好~我们连接成功了👏

postman 测试一下
在这里插入图片描述

嗯~也是阔以的👏

但是我们想要在其他项目中使用的话还是要解决一下跨域,因为这个服务器是在5000端口运行的,比如 vue-cli / webpack 构建的项目 他是在其他端口运行的例如 8080…

解决跨域

解决跨域的方法有很多,代理、cors 等等

这里我采用的是 代理

webpack构建的项目,在其根目录配置文件webpack.config.json中添加:

devServer: {
  proxy: {
    '/api': {
      target: 'http://localhost:5000'
    }
  },
},

即可~
在这里插入图片描述

至此,我们的后台接口就欧克了🎉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值