Mongodb 基于mondodb中的当前时间更新字段

Mongodb 基于mondodb中的当前时间更新字段,mongodb,time,field,Mongodb,Time,Field,mongodb中是否有基于当前时间自动更新字段的方法 更具体地说,我有一个名为Store的集合,模式如下: name: String, type : String, lat: Number, lng: Number, infos : { description : String }, isOpen : Boolean 对于我的商店系列中的所有商店,我希望isOpen在上午8点到晚上8点为真,在晚上8点到早上8点为假 mongodb是否可以根据当前时间自动更新这些字段?我如何才能做到这一点

mongodb中是否有基于当前时间自动更新字段的方法

更具体地说,我有一个名为Store的集合,模式如下:

name: String,
type : String,
lat: Number, 
lng: Number,
infos : {
  description : String
},
isOpen : Boolean
对于我的商店系列中的所有商店,我希望isOpen在上午8点到晚上8点为真,在晚上8点到早上8点为假

mongodb是否可以根据当前时间自动更新这些字段?我如何才能做到这一点

谢谢你的回复,如果我不够具体,如果我的英语不是很好,我很抱歉


PS:我正在节点中使用mongoose模块

不,你不能。MongoDB中的数据在更新操作之外不会更改


您必须在应用程序服务器上执行一些非常简单的处理来实现您想要的功能。

您可以通过运行cron作业来实现这一点。如果您使用的是Node,则可以进行检查。只需在上午8点运行一个cron作业,将isOpen的值更改为true,并在晚上8点运行另一个cron作业,将值更改为false

否。无论何时从数据库获取文档,在将其返回到客户端之前,请根据需要进行更改。我建议对此功能进行架构更改。您可以做的是存储开放时间,然后以一种自动提供真/假值的方式运行查询,而不是试图根据一天中的当前时间动态更新数据库。