javascript - 根据条件复选框将字段添加到架构

标签 javascript node.js mongodb mongoose mongoose-schema

我试图找出如何根据复选框的值最好地设计架构:

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

 })

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

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

最佳答案

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

原因如下:

  1. 您将使用模型继承。稍后可以轻松添加公共(public)字段。您的数据似乎取决于日期的类型,并且似乎具有通用字段(如日期、温度等),例如(晴天、 Storm 、雪天)这样类型鉴别器会很有帮助。
  2. 您将有一个鉴别器键,我们将其称为dayType,您现在可以用它来区分日期的类型。这还可以让您轻松计算/查询某个日期期间有多少晴天或下雪天
  3. 基于该复选框,您可以简单地将模型从一个模型切换到另一个模型,每个模型都有自己的特定数据。下雪天会有 amountOfSnow 等。

关于javascript - 根据条件复选框将字段添加到架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768525/

相关文章:

javascript - 当组件获得焦点时,如何防止 react 网页向上滚动?

javascript - 多选元素 - onchange

javascript - 无法调用undefined的save方法。蒙古人

node.js - 从纯js连接到socket.io

mongodb - meteor /MongoDB : Update an array item in a collection by index

MongoDB 有一个未指定的未捕获异常

javascript - ngOnInit() 中的 Angular 8 Http Observables

javascript - 我该如何将 x 轴标签与它们在 HTML 中对应的刻度线对齐?

node.js - Node/Express 服务器随机跳过静态文件请求

node.js - Mongoose 和 promise : how to get an array of query results?