首页 > 解决方案 > 购物车系统模式猫鼬

问题描述

我正在创建一个 p2p 电子商务网络应用程序,并且在选择如何构建我的购物车系统时遇到了一些困难,如果我像这样将购物车系统嵌入到用户模型中会更好:

const userSchema = new mongoose.Schema({
  email: {
    type: String,
    required: true
  },
  password: {
    type: String,
    required: true
  },
  username: {
    type: String,
    required: true
  }
  ,
  cart: [
    {
      product: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'product'
      },
     price:{
       type: Number,
       default: 0
     },
     quantity:{
       type: Number,
       default: 0
     },
     shippingPrice:{
       type: Number,
       default: 0
     }
    }
  ]
}

还是您认为我应该创建一个全新的架构并将 userId 添加为字段?...您认为哪个可以更好地扩展?..感谢您的帮助

标签: node.jsmongodbdatabase-designmongoose-schema

解决方案


老实说,如果我是你,我不会使用服务器来存储购物车,只是不需要它。

购物车可以存储在 localStorage 中,无需“浪费”数据库空间。也无需为要添加到购物车的每件商品发送请求,这将使您的网站更快,并使您的服务器更轻。


推荐阅读