这是我的架构
{
"from": {type: Date, required: true},
"to": {type: Date, required: true},
"slotname": {type: String, required: true},
"createdAt": {type: Date, default: Date.now},
"modifiedAt": {type: Date, default: Date.now},
"isDeleted": {type: Boolean, default: false}
}
使用这个模式,我总共创建了10条记录。对于这10条记录,槽名称为"slot1","slot2"..."slot10"
。
from
和to
计时分别为9-11, 11-1, 2-4, 4-6, 6-9, 9-11, 11-1, 2-4, 4-6, 6-9
。
现在我需要将它们与current time
进行比较。
假设当前时间是11
,它应该以2-4, 4-6, 6-9 and 9-11
的形式返回由from
和to
计时组成的文档。
我如何才能做到这一点?
发布于 2016-06-15 14:50:42
当您创建任何插槽时,您不应保留起始日期和终止日期。这些不是为特定的一天准备的,对吧!
您可以将槽的小时值作为整数输入。让我们来看看第一个位置。您可以在其中插入from as 2和to as 4。
则查询将如下所示
var tStamp = new Date();
var hr = tStamp.getHour();
query = {
from: {
$lte: hr
},
to: {
$lte: hr
}
};
yourCollection.find(query).toArray(callbackFn);
参见$lte-mongodb。
https://stackoverflow.com/questions/37827593
复制相似问题