node.js - 购物车系统模式猫鼬
问题描述
我正在创建一个 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 添加为字段?...您认为哪个可以更好地扩展?..感谢您的帮助
解决方案
老实说,如果我是你,我不会使用服务器来存储购物车,只是不需要它。
购物车可以存储在 localStorage 中,无需“浪费”数据库空间。也无需为要添加到购物车的每件商品发送请求,这将使您的网站更快,并使您的服务器更轻。
推荐阅读
- python-3.x - 如何优化给定数字中的最大素数?
- javascript - 如何更好地组织我的 VueJS 和 VueX 项目以允许具有取消功能的对话框?
- flask - 烧瓶表单图像到base64字符串
- regex - 正则表达式 - 返回第一组匹配
- r - 你如何在 R Markdown 中嵌入 R Markdown 代码?
- yolo - YOLO(暗网):如何更改检测的输出文件目录(predictions.jpg)?
- node.js - npm install 在 EC2 实例上中止 - 无法在 GC 中获取堆栈跟踪
- python - 在 Django 中验证模型字段时访问其他模型字段
- django - Django 3.1:使用 CreateView 预填充外键字段
- python - 在 Python 中实现 MATLAB 'fitdist'