【发布时间】:2021-07-13 20:15:02
【问题描述】:
我在理解如何查询日期时遇到了一些问题;我认为问题可能与我的数据的结构有关。这是我数据库中的示例文档。
{
"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 方法的工作原理,或者我存储日期的方式有什么问题? (我不断看到人们提到 ISODates,但不太确定那是什么或如何实施)。
提前致谢。
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema