我正在MongoDB中为我一直在使用的预订系统建模信息。
每个可以预订的日期都有一系列默认的“设置”,例如它没有被阻止,营业时间例如是“ 12:00”-“ 15:00”和“ 16:00-18:00”。
但是,我需要存储有关偏离这些默认“设置”的日期的信息。这就是我目前构建这些文档的方式。
new mongoose.Schema({
blocked: Boolean,
date: { type: Date, required: true },
openingHours: {
Monday: [String],
Tuesday: [String],
Wednesday: [String],
Thursday: [String],
Friday: [String],
Saturday: [String],
Sunday: [String]
},
messages: [String]
});
因此,对于每个具有不同于默认设置的日期的日期,它将都有一个包含其唯一设置的文档。
我敢肯定有一种更好,更有效的方法来构造它,但不太确定它是什么样子。
我也想知道当这些文档不再包含相关设置时如何最好的方法来删除它们。例如,如果创建了文档然后又对其进行了更新,以使其现在类似于默认设置,则理想情况下,我希望将其完全删除,因为它不再相关。最好在更新文档之前执行此操作-如果应用了更新,请检查文档是否等于默认设置;如果是,则删除文档,否则进行更新?
谢谢。