为了账号安全,请及时绑定邮箱和手机立即绑定

Mongodb 购物车 保存修改问题

Mongodb 购物车 保存修改问题

慕哥9229398 2018-08-16 17:18:55
可以利用Mongodb的富文档来保存用户购物车信息,userId: {    cart: [        {            productId: 111,            price: 1.00,            number: 5        },        {},        ...    ] }那么问题来了,如果我要修改商品111的单价,那么需要遍历Mongodb来把所有用户购物车中商品111的价格都进行修改嘛?有其他好的方法嘛?求指教。
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

最好的办法,MongoDB中只存productId和数量,不要存价格,在加载购物车时现查最新促销信息

查看完整回答
反对 回复 2018-08-26
?
LEATH

TA贡献1936条经验 获得超6个赞

假设每个购物车中只有一个商品111。按照你上面的数据结构,可以用:

db.cart.updateMany({"userId.cart.productId": 111}, {$set: {"userId.cart.$.price": newPrice}});

更合理的做法是像上面说的,不要存价格。对电商来说价格是敏感的数据,变动频繁,冗余下来弊大于利。


查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 876 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信