node执行步骤实现连接数据库
1.首先,新建一个文件夹,在终端下载局部安装express骨架
- 创建一个新的目录,并命令行进入该目录下
- 通过npx生成项目骨架
npx express-generator
- 执行命令下载所有依赖包
npm install
- 执行命令启动服务器
npm start
2.在里面自己新建几个文件夹
dao
:持久层,model
:最终完成和数据库的连接,service
:业务逻辑层,db.js
:连接数据库
3.首先得建立对数据库得连接
db.js里面写:
// 加载数据库驱动并连接数据库
const mongoose = require('mongoose');
//本地加数据库得名称
mongoose.connect('mongodb://localhost:27017/f81', {useNewUrlParser: true, useUnifiedTopology: true});
mongoose.connection.on("connected",function(){
console.log('MongoDB is Connected');
})
4.然后在model文件夹里面新建一个userModel.js
//最终完成和数据库的连接(大概意思就是你要往数据库里面弄东西就靠这个model了)
//引入mongoose
const mongoose = require('mongoose');
//数据结构对象userSchema
//创建和数据库对应的数据结构
//类型包含:String Number Date Array
let userSchema = new mongoose.Schema({
username:String,
userpwd:String
});
//将和构造函数的模型对象导出
//第一个参数:模型名称(一般和当前文件名相同)
//第二个参数:创建的schema对象
// 第三个参数:数据库中的集合名称
//如果第三个参数没有那么就会新创建一个users出来
module.exports = mongoose.model('userModel',userSchema,'users');
//最终完成和数据库的连接(大概意思就是你要往数据库里面弄东西就靠这个model了)
5.dao文件夹里面得userDao
三层架构,倒着写,从持久层开始写
//这是持久层
//引入model下面的userModel文件
const userModel = require('../model/userModel');
//把异步改为同步实现插入
//user数据里面层与层之间的参数
//创建用户
module.exports.insert = async function(user){
return await userModel.create(user);
}
//根据用户名查找用户
module.exports.findusersName = async function(username){
return await userModel.find({username})
}
6.service文件夹里面userService
//这是业务层
//引入持久层
const userDao = require('../dao/userDao');
//user从表现层传过来,调用daoinsert传过去
//插入
module.exports.insert = async function(user){
return await userDao.insert(user); //这一行得insert是dao层传过来得insert方法
}
//根据用户名查找
module.exports.findusers = async function(username){
return await userDao.findusersName(username)
}
7.表现层routes
//注册
router.post('/reg',async function (req, res) {
let { username, userpwd } = req.body;
let data = await userService.insert({username,userpwd});
console.log(data);
res.send({
msg:"注册成功",
data
});
});
//验证用户名是否存在
router.post('/findusers',async function (req, res) {
let { username } = req.body;
//注意传的变量问题,这边传的是字符串,最后一步才改为json,不要乱传变量
let data = await userService.findusers(username);
console.log(data);
if(data.length > 0){
res.send({
status:0
})
}else{
res.send({
status:1
})
}
});
8.写完这些步骤后
利用postman软件测试是否写的成功