在带边框的mongodb中查询日期

时间:2018-08-02 23:45:27

标签: mongodb

我正在使用虚假数据评估集合中的以下查询:

db.test_result.find({"date": {$gte: ISODate("2021-07-27"), $lte: ISODate("2021-08-31")}}).count()

尽管我使用$lte,但它不包含第二个日期值。是虫子吗?如果是这样,那么我该如何进行查询,以便包括左右边框?

这是假json obj的样子:

{
    "nfl": "Some",
    "rStatus": false,
    "mac": "02:00:00:00:00:00",
    "date": "2021-07-27T12:17:57",
    "MDCode": "123132132123",
}

1 个答案:

答案 0 :(得分:1)

使用此给定输入:

{"toptags": {
    "tag":
        [
            {
                "count":100,
                "name":"swedish",
                "url":"https://www.last.fm/tag/swedish"
            },
            {
                "count":100,
                "name":"singer-songwriter",
                "url":"https://www.last.fm/tag/singer-songwriter"
            }, 
            ...
        ],
        "@attr":{
            "artist":"Pugh Rogefeldt",
            "track":"Små lätta moln"
        }
    }
} 

此查询:

{ "_id" : ObjectId("596c6fea53cc7100104628fa"), "timestamp" : ISODate("2017-07-17T08:06:02.041Z"), } { "_id" : ObjectId("596c7162973f33000fc8bb81"), "timestamp" : ISODate("2017-07-17T08:12:18.170Z") } { "_id" : ObjectId("596c736c15371f00106b9e3a"), "timestamp" : ISODate("2017-07-17T08:21:00.291Z") }

会返回:

...find({"timestamp": {$gte: ISODate("2017-07-17T08:06:02.041Z"), $lte: ISODate("2017-07-17T08:12:18.170Z")}})

这是您所期望的,结果与两个边框的点匹配。简而言之,如果它是{ "_id" : ObjectId("596c6fea53cc7100104628fa") "timestamp" : ISODate("2017-07-17T08:06:02.041Z") } { "_id" : ObjectId("596c7162973f33000fc8bb81"), "timestamp" : ISODate("2017-07-17T08:12:18.170Z") } 匹配项,则将其包括在内,否则,您将仅获得一次。