我有一个集合booking,在这个集合中我有一个用于调试的文档:
{
"_id": ObjectID("55d7608120b345d2cc7c9f45"),
"name": "booking1",
"start": ISODate("2015-01-10T00:00:00.000Z"),
"end": ISODate("2015-01-20T00:00:00.000Z")}
现在我有一个第二个日期范围,并且想要检查日期范围B是否与任一预订文件重叠。
我的查询语句是:
db.booking.find({$or:[{"start":{$gt:ISODate("2015-01-15T00:00:00.000Z")}},{"end":{$lt:ISODate("2015-01-25T00:00:00.000Z")}}]});
当我执行查询时,有时候会得到结果,但是当我改变查询中的日期时,就没有结果了。这不合逻辑!我不知道查询是否正确,或者我应该改变策略。
我的应用程序是基于Node JS + Express + MongoClient环境的。
希望得到解答, 谢谢大家问候DroidSheep