我的文档具有以下结构,其中start
和end
表示小时,格式为HH:MM
:
{_id: 1, start: "11:30", end: "14:30" }
{_id: 2, start: "05:30", end: "11:30" }
{_id: 3, start: "14:30", end: "18:00" }
{_id: 4, start: "18:30", end: "23:59" }
我收到另一个HH:MM
值。然后,我需要获取记录的_id
,其中我得到的值在start
和end
范围之间。
例如,如果我的值为15:18
,则由于_id = 3
和start > 15:18
,我将需要获取end <= 15:18
。
我发现的示例显示了相反的情况(具有最小值/最大值并查询哪一行在这些值之间有一个单元格)。 This is an example,this is another example和another one。
答案 0 :(得分:0)
您需要在$gte
方法内使用$lte
和.find()
运算符。试试:
db.col.find({ start: { $lte: "15:18" }, end: { $gte: "15:18" } })