共 1 条评论关于"记录Node.js+Mongodb数据库一些常用基本操作方法"
最新评论
每年学一遍node相关的知识,虽然在实际工作中也一直没实质性用上,但也从未想过去真正放弃,总有一种感觉在未来的某一天。它能带我飞翔。特此把之前学的东西这次复习时候整理下,方便查阅,免得每次查百度浪费时间,努力吧少年。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | router.post('/setColor', async function (ctx, next) { try { const Color = mongoose.model('Color') let newColor = new Color({ colorValue: ctx.request.body.colorValue }) await newColor.save().then(() => { ctx.body = { code: 200, message: '颜色值设置成功' } }) } catch (error) { ctx.body = { code: 500, message: error } } }); |
remove()方法已经过时了,现在官方推荐使用deleteOne()和deleteMany()方法。
deleteMany参数为{}时候删除全部
1 | await Color.deleteMany({}) |
删除指定数据
1 | db.inventory.deleteMany({ status : "A" }) |
查询可能是我们用的最多的,通常有find、findOne、findById(参数是数据库默认生成的_id)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | router.get('/getColor', async function (ctx, next) { try { const Color = mongoose.model('Color') await Color.find({}, function (err, res) { // {}为查询所有 ctx.body = { code: 200, data: res } }).sort({_id:-1}); // 根据_id字段进行倒叙返回,默认1 } catch (error) { ctx.body = { code: 500, message: error } } }); |
常用的有update、findByIdAndUpdate(参数是数据库默认生成的_id)
1 2 3 | await User.update({userName:'小名同学'},{userName:'QQ糖果'},function(err, res){ console.log('更新数据,欧耶',err,res) }); |
1 2 3 4 5 6 7 | await User.findByIdAndUpdate('5d2da91b76accfce15fdfbfe', {userName:'修改id为5d2dxxxx的数据属性userName'}, function(err, res) { if (err) { console.log(err); } else { console.log(res); } }); |
作用:条件操作符用于比较两个表达式并从Mongodb集合中获取数据
1 2 | 语法:db.集合名.find({<key>:{$gt:<value>}}) 示例:db.student.find({age:{$gt:20}}) |
1 | 语法:db.集合名.find({<key>:{$gte:<value>}}) |
1 | 语法:db.集合名.find({<key>:{$lt:<value>}}) |
1 | 语法:db.集合名.find({<key>:{$lte:<value>}}) |
1 | 语法:db.集合名.find({<key>:{$gte:<value>,$lte:<value>}}) |
1 | 语法:db.集合名.find({<key>:<value>}) |
1 2 | 语法:db.student.find({"_id":ObjectId("id值")}) 示例:db.student.find({"_id":ObjectId("5995084b019723fe2a0d8d14")}) |
1 | db.student.find().count() |
1 | 示例:db.student.find({name:/ile/}) |
1 | 示例:db.student.find({name:/^li/}) |
可以了解下:$lookup,aggregate
数据库操作方法很多,还需要我们不断的学习和积累,node最大的优势就是和js完美无缝对接,通过js对数据的操作也能达到一些我们想要的目的,这点很棒。
上一篇:不带www域名请求刷新两次,自己挖的坑哪怕装的是屎也要舔完
下一篇:搭建card-system卡密系统,一个高效的在线发卡平台
最新评论
支付宝扫一扫打赏
微信扫一扫打赏
涨芝士了,持续关注大佬 ,希望我是以前的你,你是未来的我