在条件复选框上添加字段到架构

问题描述 投票:0回答:1

我试图弄清楚如何最好地设计一个基于复选框值的Schema:

var weatherSchema = mongoose.Schema({
day: Date,
minTtemperature: Number,
maxTemperature: Number,
snowy: Boolean,
amountOfSnow: Number,
snowAttribute2: String,
snowAttribute3: String

 })

我想要完成的是仅在雪值为True的日子里填充Snow属性。

我已经探索了鉴别器,但我认为只有当我想根据输入值添加不同的属性或架构字段时,此选项才有用。我真的很感激任何帮助。

javascript node.js mongodb mongoose mongoose-schema
1个回答
1
投票

我认为discriminators可能是你应该考虑的。

原因如下:

  1. 您将使用模型继承。以后可以轻松添加常用字段。您的数据似乎取决于当天的type,并且似乎有相同的字段(如日,温度等),例如(阳光明媚,暴风雨,下雪)所以类型判断器会有所帮助。
  2. 你将有一个descriminator键让我们称之为dayType,你现在可以用它来区分天的类型。这样您还可以轻松计算/查询日期中sunny or snowy天的数量。
  3. 基于该复选框,您可以简单地将模型从一个模型转换为另一个模型,每个模型都有自己的特定数据。下雪天会有switch等。
© www.soinside.com 2019 - 2024. All rights reserved.