【问题标题】:cart system schema mongoose购物车系统模式猫鼬
【发布时间】:2020-07-21 17:41:36
【问题描述】:

我正在创建一个 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.js mongodb database-design mongoose-schema


    【解决方案1】:

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

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

    【讨论】:

    • hmm..我会看看这个,但我也可以使用 localStorage 购物车中的数据来实现使用条带的支付实例
    • 但是您的解决方案也有一个缺陷,用户只能在该特定设备上看到购物车,他将无法使用其他设备登录并看到他的购物车... . 在我看来,这是一种糟糕的销售技巧
    • 这取决于您希望在您的网站中拥有的功能。如果您希望某人能够切换计算机并保存他的购物车,那么是的,您需要将其保存在您的数据库中。
    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    相关资源
    最近更新 更多