【发布时间】:2016-01-25 19:47:49
【问题描述】:
我在显示来自 MongoDB 的记录时遇到了困难。基本上,我的 MongoDB 中有一些字段“leaves_start”和“leaves_end”。此字段包含用户休假的日期范围。请参见下面的示例。
用户名:junel
leaves_start:10/05/2015
leaves_end:2015 年 10 月 10 日
如果当前日期(例如 10/07/2015)在记录的离开开始和离开结束的范围内,我想获取 MongoDB 中的所有记录。
我已经尝试过 $gte 和 $lte,但我对如何在当前状态下实现它有点困惑。
这是我的示例方法:
getTowerLeaveData_LV: function(dateToday,tower) {
var arr = LeavesCollection.find($or: [
{ leaves_start: { $lte: dateToday } },
{ leaves_end: { $gte: dateToday } } ],
leaves_approval_status: {$ne: 'Rejected'}}).fetch();
return arr
},
这是我的示例 Mongodb 记录
_____________________________________
name | leaves_start | leaves_end
_____________________________________
Junel | 10/01/2015 | 10/03/2015
_____________________________________
Jaycee | 10/03/2015 | 10/03/2015
_____________________________________
Tori | 10/05/2015 | 10/10/2015
_____________________________________
Ryan | 10/02/2015 | 10/05/2015
如果 dateToday 的值为 10/03/2015,则方法应返回 Junel、Jaycee 和 Ryan 的记录。
我希望这是有道理的。多谢你们!
【问题讨论】:
-
您能否单击edit 链接以包含架构详细信息、一些具有预期输出的示例数据?
-
嗨 chidram,更新完毕。谢谢!
-
感谢更新,能否说明
leaves_start和leaves_end字段是保存字符串还是日期对象? -
字段包含字符串。
-
您好,chridam,感谢您的建议。尽管我没有使用 $gte 和 $lte,但我已经成功找到了解决问题的方法。
标签: javascript mongodb meteor