You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MongoDB数组操作提取单日多段工作时段起止时间并拆分文档

时段拆分需求说明

我需要从下述data中提取开始时间和结束时间,规则为:出现数值0时为工作结束时间,下一个数值大于0时为新工作时段开始,每当出现大于0的新时段起始值时,需将原文档拆分为多个独立文档。

适用场景

用户单日为多段非连续工作模式,而非全天固定时段(如9:00至17:00),例如工作时段为9-10、11-12、15-16,需拆分出对应各个时段的文档。

原始数据

{"data": {"2020-09-04T12:18:41Z": 0,"2020-09-04T12:18:42Z": 1,"2020-09-04T14:59:50Z": 1,"2020-09-04T14:59:59Z": 0,"2020-09-04T15:00:00Z": 0,"2020-09-04T15:00:01Z": 1,"2020-09-04T15:05:00Z": 1,"2020-09-04T15:05:01Z": 0,"2020-09-04T15:40:00Z": 0,"2020-09-04T15:40:01Z": 1,"2020-09-04T16:00:00Z": 1,"2020-09-04T16:00:01Z": 0,"2020-09-04T16:30:00Z": 0,"2020-09-04T16:30:01Z": 1,"2020-09-04T16:52:50Z": 1,"2020-09-04T16:52:51Z": 0,"2020-09-04T18:10:00Z": 0,"2020-09-04T18:10:01Z": 1,"2020-09-04T18:35:00Z": 1,"2020-09-04T18:35:01Z": 0,"2020-09-04T18:59:00Z": 0,"2020-09-04T18:59:01Z": 1,"2020-09-04T19:00:00Z": 1,"2020-09-04T19:00:01Z": 0,"2020-09-04T19:30:00Z": 0,"2020-09-04T19:30:01Z": 1,"2020-09-04T19:52:50Z": 1,"2020-09-04T19:52:51Z": 0}}

拆分后得到的独立工作时段

  • 时段1:2020-09-04T12:18:42Z 至 2020-09-04T14:59:59Z
  • 时段2:2020-09-04T15:00:01Z 至 2020-09-04T15:05:01Z
  • 时段3:2020-09-04T15:40:01Z 至 2020-09-04T16:00:01Z
  • 时段4:2020-09-04T16:30:01Z 至 2020-09-04T16:52:51Z
  • 时段5:2020-09-04T18:10:01Z 至 2020-09-04T18:35:01Z
  • 时段6:2020-09-04T18:59:01Z 至 2020-09-04T19:00:01Z
  • 时段7:2020-09-04T19:30:01Z 至 2020-09-04T19:52:51Z

内容的提问来源于stack exchange,提问作者bc110402922

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:00:03