使用Njs+express+mongoDB打造一个简易服务端
前言
本文主要介绍使用NJs+express+mongoDB如何创建一个简易的服务器,可以在此基础上进行项目服务器的开发。
1.前期准备
- 安装express
npm install express
- 安装mongoose(用于与monogoDB数据库进行连接)
npm install mongoose
- 文件目录结构
2.连接mongoDB数据库及创建数据模型
models/user.js
//1.导入模块
const mongoose = require('mongoose');
//2.连接数据库 如果有身份验证 记得打开
const db = mongoose.createConnection('mongodb://用户名:密码@localhost:27017/数据库名称',{useNewUrlParse:true,useUnifiedTopology: true},err=>{
if(err){
console.log("-----------------------------")
console.log("数据库连接失败",err)
console.log("-----------------------------")
return
}
console.log("数据库连接成功")
})
//3.设置数据模型(声明是哪个集合,限制字段和字段类型)
//mongoose.model('name',schema)
const model = db.model('user', {
uname:{type:String,default:"一二三四" },
pwd:String,
email:String,
sex:String
});
//添加新用户方法
const createModel = postData =>{
const insertObj = new model(postData)
return insertObj.save()
.then(res => {
console.log(res)
// db.close()
return res
})
.catch(err => {
console.log('插入失败' + err)
return false
})
}
const findModel = (skip = 0,limit = 0)=>{
if (!skip) {
skip = 0
}
//此处是为分页准备,默认为0
return model.find().skip(skip).limit(limit)
.then(res=>{
return res
})
.catch(err=>{
console.log('查询失败' + err)
return []
})
}
//导出成员
module.exports = {
createModel,
findModel
}
3.通过模型定义创建数据的方法
controller/user.js
//导入模型
const {createModel,findModel} = require(process.cwd() + '/models/user')
//定义处理方法
const create = async(req,res)=>{
//1.接受数据
let postData = req.query
//2.过滤(忽略
console.log(postData)
//3.操作数据库
let rs = await createModel(postData)
//4.判断返回
if (rs) {
res.send({
meta:{
state:200,
msg:"添加成功"
},
data:postData
})
} else {
res.send({
meta:{
state:500,
msg:"添加失败"
},
data:postData
})
}
}
const find = async (req,res)=>{
//1接受数据
let pageInfo = req.query
//2.过滤
//3.获取数据
let skip = (parseInt( pageInfo.pageno) -1 ) * parseInt(pageInfo.pagesize)
console.log(pageInfo)
let rs = await findModel(skip,parseInt(pageInfo.pagesize))
// let rs = await findModel()
if (rs) {
res.send({
meta:{
state:200,
msg:"查询成功"
},
data:rs
})
} else {
res.send({
meta:{
state:500,
msg:"查询失败"
},
data:rs
})
}
}
//导出成员
module.exports = {
create,
find
}
4.创建入口文件
http.js
// 1.引入express模块
const express = require('express')
// 2.创建app对象 通过语法express() 底层原理express 的createServer
const app = new express()
// 3.路由,语法app.HTTP请求方式 (路径,回调函数)
app.get('/',(req,res)=>{
res.send('hello express')
})
const userController = require(process.cwd()+'/controller/user')
// 学生添加
app.post('/user',userController.create)
// 学生列表查询
app.get('/user',userController.find)
// 4.启动服务监听端口
app.listen(3000,()=>{
console.log('http://localhost:3000')
})
5.使用node/nodemon运行服务器
nodemon http.js
此时就可以通过http://127.0.0.1:3000访问服务器啦!
喜欢的话点个
♥(ˆ◡ˆԅ)