如何在两个日期之间获取文档(不同字段)

How To Get Docs Between Two Date (Different field )

我有一个collection名字请假 当员工申请休假时,创建一个包含从和到日期的文档 采用这种格式

"slots": [
            ObjectId("5c9b5281a2f04a75c6ed77d1")
        ],
        "start_date": ISODate("2019-04-29T00:00:00.308+05:30"),
        "end_date": ISODate("2019-04-29T00:00:00.308+05:30"),
        "user": ObjectId("5cc6d732faad3318b39b80f8"),
        "status": NumberInt(1),

当我 运行 使用此查询 collection 查询时

user: { '$in': [ 5cc6d732faad3318b39b80f8 ] },
  start_date:
   { '$gte': 2019-04-29T18:30:00.000Z },
  end_date:
   { '$lte': 2019-04-29T18:30:00.000Z  }

具有相同的开始和结束日期则查询不是return任何文档

我不明白这个查询发生了什么

当我运行这个查询具有不同的开始和结束日期时,它工作

提前致谢

我很累,但工作得很好。 请检查您在用户中的日期和 ID 格式。

数据库

{
"_id" : ObjectId("5cc81bc3767421415293994d"),
"slots" : [ 
    ObjectId("5c9b5281a2f04a75c6ed77d1")
],
"start_date" : ISODate("2019-04-28T18:30:00.308Z"),
"end_date" : ISODate("2019-04-28T18:30:00.308Z"),
"user" : ObjectId("5cc6d732faad3318b39b80f8"),
"status" : 1
}

查询

db.collection.find({user: { '$in': [ ObjectId("5cc6d732faad3318b39b80f8") ] },start_date:{$gte:ISODate("2019-04-28T18:30:00.308Z")},end_date:{$lte:ISODate("2019-04-28T18:30:00.308Z")}})

Returns 文档