我正在使用 NodeJS 和 MongoDB 开发一个项目,我正在使用 Mongoose。在我的数据库中,我存储了公司的营业时间和营业时间。我还有一个 isOpen
字段,它是一个 bool 值,我想知道是否可以根据当前日期和开放时间动态更改 mongoDB 中 isOpen
的值公司的。
{
openingHours {
opens: Number,
closes: Number
},
isOpen: Boolean // should depend on the current date and openinghours
}
PS:我看到可以在字段 required
上放置一个函数。
最佳答案
您可以使用虚拟属性(property)来获得该功能。
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;
});
有关虚拟属性(property)的更多信息,您可以在 official documentation 中找到.
关于node.js - Mongoose 条件字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296455/