查询最小和最大列包含值的MongoDB文档

时间:2018-10-23 16:45:47

标签: mongodb date range

我的文档具有以下结构,其中startend表示小时,格式为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,其中我得到的值在startend范围之间。

例如,如果我的值为15:18,则由于_id = 3start > 15:18,我将需要获取end <= 15:18

我发现的示例显示了相反的情况(具有最小值/最大值并查询哪一行在这些值之间有一个单元格)。 This is an examplethis is another exampleanother one

1 个答案:

答案 0 :(得分:0)

您需要在$gte方法内使用$lte.find()运算符。试试:

db.col.find({ start: { $lte: "15:18" }, end: { $gte: "15:18" } })