Прежде всего ISODate('2018-08-31T6:00:00Z')
имеет опечатку - она должна быть 06:00:00Z
. Без начального значения 0
ISODate helper возвращает '2018-08-31T00:00:00Z'
0am UTC и запрос фактически возвращает документ.
Во-вторых, по местному времени ничего нет. ISODate находится в UTC, поэтому
ISODate("2018-08-31T05:06:13.150Z")
- это 5:00 UTC, а ISODate("2018-08-31T06:06:13.150Z")
- 6:00 UTC. 5 < 6
, поэтому условие $gte
не выполняется и документ не возвращается.
Наконец, если вы хотите использовать местное время - используйте Date
вместо:
db.getCollection('User').find({"DateAdded":{$gte: new Date('2018-08-31T6:00:00')}})
Вернет все документы, созданные после 5:00 UTC, 6:00 по местному времени. Обратите внимание, что в конце нет Z
, который указывает часовой пояс UTC.
В качестве рекомендации - не связывайтесь с местным временем. Преобразуйте его в UTC как можно скорее и всегда работайте с UTC.