您好,登錄后才能下訂單哦!
唯一的url slug:這種字段通常是唯一索引,以加速查詢和確保唯一。它提供了毅個有意義的url結構,利于seo。通常https://xxxx.com/products/5d0332be5d530000c4002a03的url顯得無意義,有意義的像:https://xxxx.com/products/wheelbarrow-9092
所以可以對它創建唯一索引:
????
要在商品目錄里查詢所有的列別,可以用$in操作符:
????db.categories.find({"_id":{"$in": product("category_ids")}})
db.orders.find({user_id: user["user_id"]})
查詢特定訂單的用戶:
db.users.findOne({"_id": order["user_id"]})
每個商品可以有多個評價,可以通過評論里存儲product_id來實現一對多關系
為啥要存儲username?如果是sql,會用username來關聯users表。但mongodb不支持join,我們可以使用兩種方法:根據user集合的每個評論進行查詢或接受去范式。然而,根據每個評價進行查詢沒有必要,這指揮增加不必要的成本,尤其當username經常修改的時候。所以這里選擇優化查詢而不是去范式化。
值得一提的是:對用戶來說可以選擇支持某個評價,這里在每個評價里保存評論用戶的id,這樣可以組織用戶多次投票;而且可以幫助我們查詢所有投票的用戶。
緩存了所有的投票數到helpful_votes,這可以讓我們基于投票對于有幫助的評論進行排序。緩存非常有用,因為mongodb不允許我們查詢文檔里的數組大小。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。