電商網(wǎng)站的mongodb設(shè)計(jì)

電商網(wǎng)站的mongodb設(shè)計(jì)

創(chuàng)新互聯(lián)專注于鎮(zhèn)安企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),購物商城網(wǎng)站建設(shè)。鎮(zhèn)安網(wǎng)站建設(shè)公司,為鎮(zhèn)安等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

唯一的url slug:這種字段通常是唯一索引,以加速查詢和確保唯一。它提供了毅個有意義的url結(jié)構(gòu),利于seo。通常https://xxxx.com/products/5d0332be5d530000c4002a03的url顯得無意義,有意義的像:https://xxxx.com/products/wheelbarrow-9092

所以可以對它創(chuàng)建唯一索引:

????電商網(wǎng)站的mongodb設(shè)計(jì)

電商網(wǎng)站的mongodb設(shè)計(jì)

要在商品目錄里查詢所有的列別,可以用$in操作符:

????db.categories.find({"_id":{"$in": product("category_ids")}})

電商網(wǎng)站的mongodb設(shè)計(jì)

電商網(wǎng)站的mongodb設(shè)計(jì)

db.orders.find({user_id: user["user_id"]})

查詢特定訂單的用戶:

db.users.findOne({"_id": order["user_id"]})

電商網(wǎng)站的mongodb設(shè)計(jì)

電商網(wǎng)站的mongodb設(shè)計(jì)

每個商品可以有多個評價,可以通過評論里存儲product_id來實(shí)現(xiàn)一對多關(guān)系

電商網(wǎng)站的mongodb設(shè)計(jì)

為啥要存儲username?如果是sql,會用username來關(guān)聯(lián)users表。但MongoDB不支持join,我們可以使用兩種方法:根據(jù)user集合的每個評論進(jìn)行查詢或接受去范式。然而,根據(jù)每個評價進(jìn)行查詢沒有必要,這指揮增加不必要的成本,尤其當(dāng)username經(jīng)常修改的時候。所以這里選擇優(yōu)化查詢而不是去范式化。

值得一提的是:對用戶來說可以選擇支持某個評價,這里在每個評價里保存評論用戶的id,這樣可以組織用戶多次投票;而且可以幫助我們查詢所有投票的用戶。

緩存了所有的投票數(shù)到helpful_votes,這可以讓我們基于投票對于有幫助的評論進(jìn)行排序。緩存非常有用,因?yàn)閙ongodb不允許我們查詢文檔里的數(shù)組大小。

當(dāng)前名稱:電商網(wǎng)站的mongodb設(shè)計(jì)
文章出自:http://muchs.cn/article24/isjjce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)網(wǎng)站排名、用戶體驗(yàn)App開發(fā)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)