在给定集合的开始日期和结束日期之间进行的Mongoose查询

问题描述 投票:4回答:1

我有以下集合:

db.sponsoreds.insert([
{
    _id: 1,
    bannerPath: "dms1.jpg",
    startDate: new Date("December 12, 2015 12:00:00"),
    endDate: new Date("November 13, 2016 00:00:00")
},
{
    _id: 2,
    bannerPath: "dms2.jpg",
    startDate: new Date("January 12, 2015 12:00:00"),
    endDate: new Date("January 13, 2016 00:00:00")
},
{
    _id: 3,
    bannerPath: "dms3.jpg",
    startDate: new Date("November 12, 2017 12:00:00"),
    endDate: new Date("November 13, 2018 00:00:00")
 },
 {
 _id: 4,
 bannerPath: "grs1.jpg",
 startDate: new Date("February 01, 2016 12:00:00"),
 endDate: new Date("February 28, 2016 00:00:00")
}
])

如何查询今天在开始日期和结束日期之间的文档?

编辑:这不是建议的“已经问过的问题”的重复,因为:

我问的是今天是否在文件中的两个日期之间,而不是文件中的日期是否在两个日期之间。

mongodb mongoose
1个回答
9
投票
db.sponsoreds.find({$and:[{startDate:{$lte:new Date()}},{endDate:{$gte:new Date()}}]})

将返回

{
        "_id" : 1,
        "bannerPath" : "dms1.jpg",
        "startDate" : ISODate("2015-12-12T17:00:00Z"),
        "endDate" : ISODate("2016-11-13T05:00:00Z")
}

今天运行2016-02-01T10:01:41.539Z

© www.soinside.com 2019 - 2024. All rights reserved.