我正在使用NodeJS和MongoDB进行项目,并且正在使用Mongoose。在我的数据库中,我存储着营业时间和营业时间的公司。我还有一个isOpen
字段,它是一个布尔值,我想知道是否有可能根据当前日期和公司的营业时间动态更改mongoDB中isOpen
的值。>
{
openingHours {
opens: Number,
closes: Number
},
isOpen: Boolean // should depend on the current date and openinghours
}
PS:我看到可以在字段required
上放置一个函数。
答案 0 :(得分:1)
您可以使用虚拟属性来获取该功能。
var storeSchema = new Schema({
openingHours {
opens: Number,
closes: Number
},
});
storeSchema.virtual('isOpen').get(function () {
const currentTime = Date.now();
const currentHour = currentTime.getHours();
return this.openingHours.opens >= currentHour && currentHour < this.openingHours.closes;
});
您可以在official documentation中找到有关虚拟财产的更多信息。