Mongodb 购物车 保存修改问题

可以利用Mongodb的富文档来保存用户购物车信息,

userId: {   
    cart: [
       {
           productId: 111,
           price: 1.00,
           number: 5
       },
       {},
       ...
   ]
}

那么问题来了,如果我要修改商品111的单价,那么需要遍历Mongodb来把所有用户购物车中商品111的价格都进行修改嘛?有其他好的方法嘛?求指教。


神不在的星期二
浏览 1185回答 2
2回答

慕容森

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

宝慕林4294392

假设每个购物车中只有一个商品111。按照你上面的数据结构,可以用:db.cart.updateMany({"userId.cart.productId": 111}, {$set: {"userId.cart.$.price": newPrice}});更合理的做法是像上面说的,不要存价格。对电商来说价格是敏感的数据,变动频繁,冗余下来弊大于利。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MongoDB