Как получить документы между двумя датами (другое поле) - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть название коллекции оставить Когда сотрудник подает заявку на отпуск, тогда создайте документ с датами от и до в этом формате

"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),

Когда я запускаю запрос на коллекцию с этим запросом

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

С той же Дата начала и окончания Тогда запрос не возвращает ни одного документа

Я не могу понять, что случилось с этим запросом

когда я запускаю этот запрос с другой датой начала и окончания это работает

Заранее спасибо

1 Ответ

0 голосов
/ 30 апреля 2019

Я устал и работал нормально.Пожалуйста, проверьте формат даты и идентификатор пользователя.

DB

{
"_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")}})

Возвращает документ

...