【问题标题】:Mongo DB: Query for documents currently "live" based on start and end dateMongodb:根据开始和结束日期查询当前“活动”的文档
【发布时间】:2013-06-10 20:42:54
【问题描述】:

我的收藏中的文档包括这个结构:

"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"
    }
})

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

【问题讨论】:

    标签: mongodb date


    【解决方案1】:

    像这样:

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

    这将在文档中找到当前时间在 startend 时间之间的文档。

    【讨论】:

    • 这不会返回其开始时间更远的文档
    • @DudeSweet 对,因为问题是询问当前时间在开始时间和结束时间之间的文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 2014-03-02
    相关资源
    最近更新 更多