我正在使用MongoDb和Mongoose为练习电子商务网站创建模型。以下是我目前为我的产品型号所做的事情:
var mongoose = require('mongoose');
module.exports = mongoose.model('Product',{
imagePath: {type: String, required: true},
title: {type: String, required: true},
description: {type: String, required: true},
price: {type: Number, required: true}
});
我的问题是我有一件衬衫,它有不同的尺码选项,如S,M和L.增加这个的最佳方法是什么?此外,如果我包含库存跟踪,我将如何跟踪所有尺寸?在此先感谢,任何和所有的帮助表示赞赏。
答案 0 :(得分:0)
有很多不同的方法可以做到这一点,但最简单的方法可能是通过一些子模式。例如,你可以创建类似的东西:
def column_for_treatment(design_info, factor, value):
column_name = "{}[T.{}]".format(factor, value)
return design_info.column_name_indexes[colum_name]
column_for_treatment(x.design_info, "a", "a2")
然后在您的产品定义中:
const ProductVariant = new mongoose.Schema({
name: String, // If you're certain this will only ever be sizes, you could make it an enum
inventory: Number
});
如果您愿意,您还可以使用某些逻辑来确保变体名称对于每个产品等都是唯一的,但这是一个基本实现。