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

Mongodb 购物车 保存修改问题

Mongodb 购物车 保存修改问题

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

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

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

查看完整回答
反对 回复 2018-07-25
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

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

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

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


查看完整回答
反对 回复 2018-07-25
  • 2 回答
  • 0 关注
  • 1179 浏览

添加回答

举报

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