时间:2021-05-26
前言
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具
那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:https://www.jb51.net/article/80296.htm
演示
描述场景
更新购物车数量与勾选状态
业务逻辑
查询到当前用户的购物车对象Cart,更新前端传递过来的quantity与selected字段
方法一
var _ = require('underscore');Cart.findOneAndUpdate({ _id: req.body.cart._id, user: user }, _.pick(req.body.cart, 'quantity', 'selected'), { new: true }, function(err, updatedCart) { res.send( utils.json({ data: updatedCart }) ); });注:_.pick相当于
{ quantity: req.body.cart.quantity, selected: req.body.cart.selected }方法二
var _ = require('underscore');Cart.findOne({ _id: req.body.cart._id, user: user }, function(err, cart) { if (err) { console.log(err); } // 复制对象 _.extend(cart, req.body.cart); cart.save(function(err, updatedCart) { res.send( utils.json({ data: updatedCart }) ); }); });对比
第一种代码使用findOneAndUpdate只用了一步,更加简洁,适用于更新的字段少且非常明确的场景
第二种先findOne再对entity进行save操作,利用了underscore对象复制,面向整个对象操作更加灵活,适用于字段多且不确定的场景
结论
需求总是在变的,所以我一般采用第二种。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Python中的is和==比较两个对象的两种方法在Python中有两种方式比较两个对象是否相等,分别是is和==,两者之间是不同的==比较的是值(如同java中
第一种方法,使用JSON-lib。第二种方法,使用JACKSON。前两种方法,对相对简单的Pojo对象来说,还是比较容易的。但是相对于嵌套多层的数据来说,复杂度
前言本文包含request内置对象的使用、乱码处理的两种方法、使用request.getParamter()方法获取表单提交的数据、采用request对象通过g
本文以示例形式展示了PHP实现更新中间关联表数据的两种方法。分享给大家供大家参考之用。具体方法如下:首先,中间关联表:这里的中间表只存表1的主键和表2的主键,即
1.创建Array对象(赋初值情况下)两种方法:varaColor=newArray('red','black','yellow');alert(aColor.