目前数据库分:
- 关系型数据库:
- 非关系型数据库:
安装mongoDB步骤
操作数据库命令
查询命令 重点
nodejs中操作数据库
const express = require('express')
const app = express()
app.listen(3000, () => { console.log('服务器启动') })
// 使用 nodejs 连接本地 mongoDB数据库 ,需要使用第三方模块 mongoose
// 使用第三方工具 mongoose
// 第一步:下载 mongoose
// 第二步:引入 mongoose
const mongoose = require('mongoose')
// 第三步:配置连接本地数据库
// 语法:mongoose.connect('协议://localhost:数据库端口号/数据库名')
mongoose.connect('mongodb://localhost:27017/user')
// 第四步:设置该数据库中的表中的字段和数据类型
const userSchema = new mongoose.Schema({
goodsname: String,
price: Number,
num: Number
})
// 第五步:创建数据表,根据你定义好的schema规则创建
// 语法:mongoose.model('数据表',数据表字段规则,'数据表名称')
// 第三个参数 是数据表名称, 如果第三个参数没有, 则数据表名为第一个参数名 + s
const userModel = mongoose.model('goodlist', userSchema, 'goodlist')
// 运行 nodemon http.js 会自动根据上面的配置 创建一个数据表
// 配置完 定义后台接口
//商品添加接口 - 使用body-parser 获取post提交的参数
const bodyParser = require('body-parser')
const { db } = require('mongodb')
app.use(bodyParser.urlencoded({ extended: false }))
app.post('/addgoods', (req, res) => {
const { goodsname, price, num } = req.body
// 将前端传过来的参数数据 添加数据库
// 注意:所有userModel提供的方法返回的都是一个promise对象,所以可以使用.then().catch()
userModel.insertMany({
goodsname: goodsname,
price: price,
num: num
}).then(() => {
res.send('添加成功')
}).catch(() => {
res.send('添加失败')
})
})
// 修改商品接口
app.post('/editgoods', (req, res) => {
const {
goodsname,
price,
num,
id
} = req.body
userModel.updateOne({ _id: id }, { $set: { goodsname, price, num } }).then(() => {
res.json({
code: 200,
msg: "修改成功",
})
}).catch(() => {
res.json({
code: 500,
msg: "修改失败",
})
})
})
// 查询接口
app.get('/goodslist', (req, res) => {
console.log(req.query);
// 获取输入的商品名
const { goodsname } = req.query
// 在数据库中找 - then里面的参数date就是查询到的数据
userModel.find({ goodsname: goodsname }).then((date) => {
console.log(date);
if (date.length > 0) {
res.json({ code: 200, msg: '查询到了' })
} else {
res.json({ code: 200, msg: '没有该商品' })
}
})
})
// 删除商品接口
app.get('/deletegoods', (req, res) => {
console.log();
const { id } = req.query
// 执行数据库删除命令
userModel.deleteOne({ _id: id }).then(ret => {
if (ret.deletedCount == 1) {
res.json({
code: 200,
msg: "删除成功"
})
} else {
res.json({
code: 500,
msg: "删除失败"
})
}
})
})