安装依赖
npm install mongoose
npm install express
删除一条数据:传入id
Model.remove({ _id: 传入的id });
删除多条数据,传入id数组,使用$in方法
Model.remove({ _id: { $in: [‘aID’, ‘bID’] } });
同理,mongoose多个id同时查询,把方法名换为find即可
传入一个id查询一条数据:
Model.find({ _id: 传入的id });
传入多个id,查询多条数据,传入id数组,使用$in方法
Model.find({ _id: { $in: [‘aID’, ‘bID’] } });
// 引入expressconst express = require('express');// mongooseconst mongoose = reqire('mongoose');const app = express()// 处理post请求app.use(express.json())app.use(express.urlencoded({ extended: false }))//跨域处理app.use((req, res, next) => {res.set('Access-Control-Allow-Origin', '*')res.set('Access-Control-Allow-Headers', 'content-type')next()})// mongoose 连接 v2_demo是数据库的名字 你可以设置成自己需要的名字 例如:hello abcd 等mongoose.connect('mongodb://127.0.0.1:27017/v2_demo', {useNewUrlParser: true,useUnifiedTopology: true}).then(() => {console.log('数据库链接成功')}).catch(() => {console.log('数据库链接失败')})// 创建一个表结构var Schema = mongoose.Schema;var NewSchema = new Schema({title: { type: String, required: true }, // 标题abstract: String,// 摘要content: String,imgUrl: String,create_time: { type: Number, default: Date.now()}});// new 是表的名称 mongodb 会生成一张 news 的表(末尾会自动加s)// 下面 基于 New 来操作数据库var News = mongoose.model('new', NewSchema);// 查询// findOne 查询一条数据 find 查询所有数据// 这两个方法 可以传两个参数 一个参数是查询的条件 第二参数是回调函数app.post('/newList', async (req, res) => {let pageNum = req.body.pageNum || 1let pageSize = req.body.pageSize || 10const total = await News.find()// 分页查询 skip 忽略的条数 limit 每页查询的条数const list = await News.find().skip(pageSize * ( pageNum - 1 ) ).limit(pageSize)res.send( utils.toast({list, total}) )})// 新增// save 方法 重新 new 一个实例 然后调用save()存进表里面// 资讯新增app.post('/newAdd', async (req, res) => {let { title, abstract, content, imgUrl } = req.bodyconst news = new News({title,abstract,content,imgUrl})await news.save().then(ress => {console.log(ress)})// res.send({ code: 1, msg: '新增成功', data: {} })res.send( utils.toast() )})// 删除// remove 删除多条// deleteOne 删除一条// 资讯列表 删除app.post('/newListDelete', (req, res) => {let id = req.body.id// 查找并删除// let result = await News.findByIdAndRemove(id);// console.log(result)// if(result) {// res.send( utils.toast() ); return// }// res.send( utils.toast(0, '失败') )// 封装函数 进行返回// utils.newDelete(id, res)// 使用 $in 进行多条数据的查询 或删除// News.remove( { _id: { $in: ['60bdc7f0a6e47e0bd07230e7', '60bdc6c0a6e47e0bd07230e6'] } } , function (err) {News.remove({ _id: id }, function (err) {if(!err) {res.send( {code: 1, msg: 'success', data: {} } )} else {res.send( {code: 0, msg: 'fail', data: {} } )}});})// 资讯列表 修改app.post('/newListChange', (req, res) => {let id = req.body.idlet title = '标题1688'let abstract = '摘要1688'// 三个参数 第一个 查找的条件 || 第二个 需要修改的属性 || 第三个 回调函数 看是否有错误News.updateOne({_id: id}, {title, abstract}, function(err) {if(err) {console.log(err)res.send(err); return}res.send({code: 1, msg: '修改成功', data: {}})})})
