1, nodemon

自动更新代码

npm i -g nodemon

启动: nodemon server.js

2,注册接口

1)目录结构

2)server.js

const express = require('express');
// 链接数据库
const db = require('./db/connect') const app = express(); // 解析req.body
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json()) // 用户相关的接口
const userRouter = require('./router/userRouter')
app.use('/user', userRouter) app.listen(3000,()=>{
console.log('server start')
})

3)connect.js

var mongoose = require('mongoose');
// 链接数据库
mongoose.connect('mongodb://localhost/local', {useUnifiedTopology: true,useNewUrlParser: true });
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log('db ok')
});

4)userRouter.js

var express = require('express')
var router = express.Router()
// 引入userModel 数据库操作
const User = require('../db/model/userModel') // 用户注册 /user/reg
router.post('/reg', function (req, res) {
// 获取数据
let {username, password} = req.body
if(!username || !password) return res.send({code:400,message:'用户名及密码必填!!!'})
// 数据处理
// 判断数据库里存在?
User.find({username}).then(data=>{
if(data.length > 0) {
res.send({code:405,message:'用户名已存在'})
}else {
return User.insertMany({username,password})
}
})
.then(data=>{
res.send({code:200,message:'注册成功'})
})
.catch(err=>{
res.send({code:500,message:'注册错误'})
})
}) // 用户登录 /user/login
router.post('/login', function (req, res) {
// 获取数据
let {username, password} = req.body
if(!username || !password) return res.send({code:400,message:'用户名及密码必填!!!'})
// 数据处理
User.find({username,password})
.then(data=>{
// console.log(data) 数组
if(data.length > 0) {
res.send({code:200,message:'登录成功'})
}else {
res.send({code:401,message:'用户名或密码错误'})
} })
.catch(err=>{
res.send({code:500,message:'内部错误'})
})
}) module.exports = router

5)userModel.js

var mongoose = require('mongoose');
// schema 对象
var userSchema = new mongoose.Schema({
username:{type:String,required:true},
password:{type:String,required:true},
age:Number,
sex:{type:String,default:0},
});
// 转数据模型
const User = mongoose.model('user', userSchema);
module.exports= User

6)数据库结果

3,登录接口

最新文章

  1. javascript技术难点(三)之this、new、apply和call详解
  2. Jmeter - 源码开发环境配置
  3. 在eclipse中用gradle搭建MapReduce项目
  4. Linux启动流程详解
  5. ios9 URL Schemes列为白名单,才可正常检查其他应用是否安装
  6. 第二章 Spring MVC入门
  7. VS查看工程项目代码行数
  8. Linux/Unix工具与正则表达式的POSIX规范
  9. 《Programming WPF》翻译 第8章 6.我们进行到哪里了?
  10. nyoj 开方数
  11. 大数据面试题——如何找出访问最多的IP
  12. markdown 相关零碎知识
  13. iOS/MAC 数据压缩与解压缩及常用算法 LZMA、ZLIB
  14. 【转】Python3使用Django2.x的settings文件详解
  15. 关于PCB开窗
  16. thinkphp结合layui上传图片
  17. Javassist注解(Annotation)的使用:CXF WebService动态生成
  18. 优秀前端工程师必备:" checkbox & radio--单钩 & 多钩 "大比较:你是♂||♀ , 还是 ♂&♀
  19. DataTable根据字段去重
  20. Django 项目 实现重定向并进行反向解析

热门文章

  1. maven上传jar包或pom文件到远程仓库
  2. 前端面试题 10 个「有用」JavaScript 代码片段
  3. 对NAN的认识
  4. ssr 学习总结
  5. MATH1851 Calculus and ordinary differential equations
  6. TM1621断码液晶驱动IC的原理、驱动代码
  7. HBase建命名空间建表
  8. Kubernetes-yaml详解
  9. GNN学习(一):基础知识
  10. GoLang之ACM控制台输入输出