【发布时间】:2015-04-12 07:55:56
【问题描述】:
业务案例:我不想检索不想在一天中的某个时间范围内被检索到的用户,例如下班时间。
在接近此的架构上
{
'name': String,
'from': Number, // 800 (8:00 AM)
'to': Number, // 1700 (5:00 PM)
...
}
我使用聚合来获取用户,同时在其他操作中展开子文档数组。基本搜索条件在$match 运算符中,如下所示。
User.aggregate([
{
// some aggregation stuff
},
{
$match: {
$and: [
{ 'from': { $lte: currentTime },
{ 'to': { $gte: currentTime }
]
}
}
]);
问题: 如何允许用户设置反向范围也?比如晚上 8 点到早上 8 点。我如何编写一个有助于解决此问题的查询?今天没有头发可以拉。
【问题讨论】:
标签: javascript mongodb mongoose mongodb-query