Mongodb:根据开始和结束日期查询当前“实时”的文档

时间:2013-06-10 20:42:54

标签: mongodb date

我的收藏中的文件包括以下结构:

"time" : { 
         "start" : ISODate("2013-06-10T20:31:48.694Z"), 
         "end" : ISODate("2013-12-11T20:31:48.694Z") 
}

根据查询的当前时间,我需要Mongo返回哪些文档当前处于“实时”状态(因为当前时间介于每个文档的开始和结束时间之间)。

我可以在此区域找到的唯一mongo查询查询在两个日期之间创建的文档:

items.find({
    created_at: {
        $gte:"Mon May 30 18:47:00 +0000 2015",
        $lt: "Sun May 30 20:40:36 +0000 2010"
    }
})

这个“实时”查询是什么样的?

1 个答案:

答案 0 :(得分:1)

像这样:

var currentTime = new Date();
items.find({
    'time.start': {$lt: currentTime},
    'time.end': {$gt: currentTime}
});

哪个文档会找到当前时间介于文档中startend次之间的文档。