0
点赞
收藏
分享

微信扫一扫

mongoDB简述以及相关命令

whiteMu 2022-01-15 阅读 70

目前数据库分:

  • 关系型数据库:
  • 非关系型数据库:

安装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: "删除失败"
            })
        }

    })
})
举报

相关推荐

0 条评论