可以利用Mongodb的富文檔來保存用戶購(gòu)物車信息,userId: {
cart: [
{
productId: 111,
price: 1.00,
number: 5
},
{},
...
]
}那么問題來了,如果我要修改商品111的單價(jià),那么需要遍歷Mongodb來把所有用戶購(gòu)物車中商品111的價(jià)格都進(jìn)行修改嘛?有其他好的方法嘛?求指教。
2 回答

largeQ
TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
最好的辦法,MongoDB中只存productId和數(shù)量,不要存價(jià)格,在加載購(gòu)物車時(shí)現(xiàn)查最新促銷信息

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
假設(shè)每個(gè)購(gòu)物車中只有一個(gè)商品111。按照你上面的數(shù)據(jù)結(jié)構(gòu),可以用:
db.cart.updateMany({"userId.cart.productId": 111}, {$set: {"userId.cart.$.price": newPrice}});
更合理的做法是像上面說的,不要存價(jià)格。對(duì)電商來說價(jià)格是敏感的數(shù)據(jù),變動(dòng)頻繁,冗余下來弊大于利。
- 2 回答
- 0 關(guān)注
- 895 瀏覽
添加回答
舉報(bào)
0/150
提交
取消