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