【发布时间】:2019-05-31 04:32:58
【问题描述】:
我有一个collection,其中包含一个用于特定操作的serviceDate 字段。
我需要在给定的日期范围内查找是否有任何 serviceDate 丢失,如果发现 serviceDate dates 的返回列表在 MongoDB 的日期范围之间丢失。
我的收藏的示例 JSON 如下。
{
"_id" : ObjectId("5cefdb46bfbe1c0001f38413"),
"category" : "RENT",
"serviceDate" : ISODate("2019-06-15T05:30:00.000+05:30")
},
{
"_id" : ObjectId("5cefdb46bfbe1c0001f38412"),
"category" : "RENT",
"serviceDate" : ISODate("2019-06-14T05:30:00.000+05:30")
},
{
"_id" : ObjectId("5cefdb46bfbe1c0001f38411"),
"category" : "RENT",
"serviceDate" : ISODate("2019-06-13T05:30:00.000+05:30")
}
示例:
案例 1:
如果一个集合有 10 个文档,并且 serciceDate 从 2019 年 6 月 1 日到 2019 年 6 月 10 日。
在我的查询中,我将 2019 年 6 月 4 日传递到 2019 年 6 月 7 日,结果应该为空。
案例 2:
如果一个集合有 9 个文档,并且 serciceDate 从 2019 年 6 月 1 日到 2019 年 6 月 10 日,但缺少 2019 年 6 月 6 日。
在我的查询中,我将 2019 年 6 月 4 日传递到 2019 年 6 月 7 日,结果应该是 2019 年 6 月 6 日。
案例 3:
如果一个集合有 9 个文档,并且 serciceDate 从 2019 年 6 月 1 日到 2019 年 6 月 10 日,但是 2019 年 6 月 6 日,则缺少 2019 年 6 月 5 日。
在我的查询中,我将 2019 年 6 月 4 日传递到 2019 年 6 月 7 日,结果应该是 2019 年 6 月 6 日和 2019 年 6 月 5 日。
【问题讨论】:
-
日期范围是指您只指定具有固定时间部分的日期
05:30:00.000+05:30? -
@mickl 你可以忽略时间戳部分。
标签: javascript mongodb mongodb-query aggregation-framework