大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

电商网站的mongodb设计-创新互联

电商网站的mongodb设计

成都创新互联公司云计算的互联网服务提供商,拥有超过13年的服务器租用、成都棕树机房、云服务器、网页空间、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、网页空间、主机域名、VPS主机、云服务器、香港云服务器、免备案服务器等。

唯一的url slug:这种字段通常是唯一索引,以加速查询和确保唯一。它提供了毅个有意义的url结构,利于seo。通常https://xxxx.com/products/5d0332be5d530000c4002a03的url显得无意义,有意义的像:https://xxxx.com/products/wheelbarrow-9092

所以可以对它创建唯一索引:

电商网站的mongodb设计

电商网站的mongodb设计

要在商品目录里查询所有的列别,可以用$in操作符:

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

电商网站的mongodb设计

电商网站的mongodb设计

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

查询特定订单的用户:

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

电商网站的mongodb设计

电商网站的mongodb设计

每个商品可以有多个评价,可以通过评论里存储product_id来实现一对多关系

电商网站的mongodb设计

为啥要存储username?如果是sql,会用username来关联users表。但mongodb不支持join,我们可以使用两种方法:根据user集合的每个评论进行查询或接受去范式。然而,根据每个评价进行查询没有必要,这指挥增加不必要的成本,尤其当username经常修改的时候。所以这里选择优化查询而不是去范式化。

值得一提的是:对用户来说可以选择支持某个评价,这里在每个评价里保存评论用户的id,这样可以组织用户多次投票;而且可以帮助我们查询所有投票的用户。

缓存了所有的投票数到helpful_votes,这可以让我们基于投票对于有帮助的评论进行排序。缓存非常有用,因为mongodb不允许我们查询文档里的数组大小。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:电商网站的mongodb设计-创新互联
网页地址:http://dzwzjz.com/article/dpigge.html
在线咨询
服务热线
服务热线:028-86922220
TOP