【发布时间】:2015-01-08 16:55:03
【问题描述】:
我有许多文档,其架构如下所示,每个文档都包含(开始日期、结束日期),如下面的架构所示。是否有一种简单的方法可以在保存新文档之前知道新文档的开始日期、结束日期是否会与之前保存的文档开始日期、结束日期重叠?谢谢
{
"title" : "",
"owner" : "",
"notes" : "",
"startdate" : "",
"enddate" : ""
}
以下是当前保存的唯一文档:
Document.(anonymous function) {_id: "FADnPAxRu4Ps5hkLz",
title: "Round A",
customerid: "QDGvBQhS6vYgZtnRr",
startdate: "11/21/2014 7:25 AM"…}
_id: "FADnPAxRu4Ps5hkLz"customerid: "QDGvBQhS6vYgZtnRr"
enddate: "11/30/2014 6:09 AM"
startdate: "11/21/2014 7:25 AM"
title: "Round A"__proto__: Document.(anonymous function)
当我尝试对上述文档执行以下任何查询时,它什么也不返回,即使这里有明显的重叠。
db.Projects.find({'startdate': {$lt: '11/25/2014 6:26 PM'}, 'enddate': {$gt: '11/19/2014 6:26 PM'}}, {sort:{time: -1}});
db.Projects.find({'startdate': {$lt: '11/30/2014 6:26 PM'}, 'enddate': {$gt: '11/21/2014 6:26 PM'}}, {sort:{time: -1}});
【问题讨论】:
-
您的“日期”是字符串,没有按词法排序。将这些转换为正确的Date type。
标签: mongodb mongodb-query