我想创建一个产品表,其中包含所有家用电器的信息,如冰箱,空气冷却器,电视e.t.c.我创建了类似这样的架构。
var productSchema = mongooseDB.Schema({
Brand: {type: String, required: true},
categoryId: Number,
Color: String,
Type: String,
Price: Number,
Size: Number
});
但问题是每个产品都有不同的属性。所以我想不出任何通用架构。我怎么会这样?或者我应该为每个特定产品创建一个单独的表?
答案 0 :(得分:0)
我认为您在定义架构时要将选项strict
设置为false
。您可能应该有一些共同的领域来确定它是什么类型的产品。另请查看discriminators - 可能有用。
请注意注意:除非你有充分的理由否则不要设置为。
就mongoose使用模式的原因而言,answer解释得很清楚。
答案 1 :(得分:0)
如果不满足您的需求,您根本不会被迫使用 Mongoose 。
您只需在应用中使用cut
即可。
或者我猜您可以将 Mongoose 与空架构一起使用,并为strict
指定false
选项。
native MongoDB driver
答案 2 :(得分:0)
您可以使用鉴别器来获取mongoose中的多态行为。看看我对这个问题的回答: How to use mongoose schema when you have dynamic values?