
138
|
第
13
章
映射,只把需要的数据传给视图(根据需要转换,就像前面的
price
一样)。
MVC
架构的某些变体中引入了称为
视图模型
的第三个组件。视图模型基本
上是对一个模型(或多个模型)进行提取和转换,以便在视图中显示。我们
在这里做的工作就相当于即时创建一个视图模型。
我们已经做了很多工作,并成功地使用数据库存储了度假产品信息。但如果不能更新数
据,那么数据库就没有什么用。所以,现在把注意力转移到数据库更新上来。
13.3.9
更新数据
我们已经看到了如何新增数据(给度假产品集合增加了种子数据)以及如何更新数据(在
预订度假产品时会更新售出的商品数量),现在来看一个更复杂一些的场景,其更能体现
文档数据库的灵活性。
如果一款度假产品尚未上市,那么我们就显示一个链接,并邀请用户收取这个产品
再次上市的通知。让我们把这个功能串联起来。首先,创建模式和模型(
models/
vacationInSeasonListener.js
):
const mongoose = require('mongoose')
const vacationInSeasonListenerSchema = mongoose.Schema({
email: String,
skus: [String],
})
const VacationInSeasonListener = mongoose.model('VacationInSeasonListener',
vacationInSeasonListenerSchema) ...