Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何使用mongo存储和查询定期日期事件?_Mongodb_Mongodb Query - Fatal编程技术网

Mongodb 如何使用mongo存储和查询定期日期事件?

Mongodb 如何使用mongo存储和查询定期日期事件?,mongodb,mongodb-query,Mongodb,Mongodb Query,我想允许我的用户为他们的活动设置时间表。可以是一天,或者为了方便起见,我希望允许他们指定一个重复发生的事件(类似于Outlook约会) 存储一天是很容易的,但是如何存储和查询一个重复发生的事件呢?我不需要做时间,因为我会单独存储,如果他们需要不同的时间,我会让他们创建另一个事件。所以不是:每周三5点和周四3点 示例: 每周一、周二、周三、周四、周五、每周 每周三每周 每月的第二个星期二 几年前我问过这个问题:但它使用的是SQL解决方案(SQL Server)。我想使用Mongo,这样端口就正常了

我想允许我的用户为他们的活动设置时间表。可以是一天,或者为了方便起见,我希望允许他们指定一个重复发生的事件(类似于Outlook约会)

存储一天是很容易的,但是如何存储和查询一个重复发生的事件呢?我不需要做时间,因为我会单独存储,如果他们需要不同的时间,我会让他们创建另一个事件。所以不是:每周三5点和周四3点

示例:

每周一、周二、周三、周四、周五、每周

每周三每周

每月的第二个星期二


几年前我问过这个问题:但它使用的是SQL解决方案(SQL Server)。我想使用Mongo,这样端口就正常了。

如何存储原始日期和有关重复的信息?这是一个无限的实验领域,你可以发明自己的“重复事件格式”。例如:

event : {
   date: 17 May 2012 22.45, 
   recurring: "+2d"  # meaning, every second day after the date
}

这就是我在mongo项目中使用的方法;使用可以匹配的标识符。您可以在一定程度上进行过滤,然后可能会涉及一些客户端过滤。在python中,我使用dateutil模块来重建一个重复出现的日期对象?我是一个彻头彻尾的蒙哥新手。我将如何展示下周的活动?你不能通过Mongo这样做。业务逻辑应该驻留在应用程序中,而不是数据库中。@BasicWolf:数据查询应该仍然位于数据库层。您不能期望应用程序获取所有事件,然后执行客户端查询。这不是个好主意。@dashmug,我不同意,重复日期是来自业务逻辑,而不是数据层。