我试图找出如何根据复选框的值最好地设计架构:
var weatherSchema = mongoose.Schema({
day: Date,
minTtemperature: Number,
maxTemperature: Number,
snowy: Boolean,
amountOfSnow: Number,
snowAttribute2: String,
snowAttribute3: String
})
我想要完成的是仅在下雪值为 True 的日子里填充 Snow 属性。
我已经探索了鉴别器,但我认为此选项仅在我想根据输入的值添加不同的属性或架构字段时才有用。 我将非常感谢任何帮助。
最佳答案
我认为discriminators
可能是你应该考虑的。
原因如下:
- 您将使用模型继承。稍后可以轻松添加公共(public)字段。您的数据似乎取决于日期的类型,并且似乎具有通用字段(如日期、温度等),例如(晴天、 Storm 、雪天)这样类型鉴别器会很有帮助。
- 您将有一个
鉴别器
键,我们将其称为dayType
,您现在可以用它来区分日期的类型。这还可以让您轻松计算/查询某个日期期间有多少晴天或下雪天
。 - 基于该复选框,您可以简单地将模型从一个模型
切换
到另一个模型,每个模型都有自己的特定数据。下雪天会有amountOfSnow
等。
关于javascript - 根据条件复选框将字段添加到架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768525/