У меня возникли проблемы с пониманием того, как запрашивать даты; Я думаю, что проблема может быть в том, как мои данные структурированы. Вот образец документа в моей базе данных.
{
"phone_num": 12553,
"facilities": [
"flat-screen",
"parking"
],
"surroundings": [
"ping-pong",
"pool"
],
"rooms": [
{
"room_name": "Standard Suite",
"capacity": 2,
"bed_num": 1,
"price": 50,
"floor": 1,
"reservations": [
{
"checkIn": {
"$date": "2019-01-10T23:23:50.000Z"
},
"checkOut": {
"$date": "2019-01-20T23:23:50.000Z"
}
}
]
}
]
}
Я пытаюсь запросить даты, чтобы проверить, доступна ли определенная комната в определенном диапазоне дат, но, независимо от того, что я делаю, я не могу получить правильный результат, либо мой запрос 404, либо пустой результат массив.
Я действительно все перепробовал, сейчас для простоты я просто пытаюсь заставить запрос работать с checkIn, чтобы я мог понять, что я делаю неправильно. Я попробовал 100 вариантов кода ниже, но не смог заставить его работать вообще.
.find({"rooms": { "reservations": { "checkIn" : {"$gte": { "$date": "2019-01-09T00:00:00.000Z"}}}}})
Я неправильно понимаю, как работает метод .find, или что-то не так с тем, как я храню свои даты? (Я продолжаю видеть людей, упоминающих ISODate, но не слишком уверен, что это такое или как реализовать).
Заранее спасибо.