MongoDB通过比较一个小时的日期对象来获取数据。

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

我想通过比较日期对象的一个小时来获取数据。

> db.client.findOne()
  {
        "_id" : NumberLong(1),
        "clientId" : "TESTCLIENT",
        "serverType" : 17,
        "dateCreated" : ISODate("2020-06-10T15:08:02.383Z"),
        "lastUpdated" : ISODate("2020-06-10T15:08:02.383Z")
  }

从客户端集合中,我想从dateCreated获取15:00到16:00之间的数据(任何日期)。为此,我尝试使用以下查询来获取数据,但无法得到结果。

db.client.find({   
    "dateCreated": {     
        "$gte": 15 * 60 * 60 * 1000,
        "$lt": 16 * 60 * 60 * 1000   
    } 
})

请告诉我是否有其他方法可以通过比较日期对象的小时数来获得结果。

mongodb mongodb-query criteria
1个回答
0
投票

你可以用 小时 为此。

db.client.aggregate([
   {$match:
     {$expr:
       {$eq:[ 
            15,
            {$hour: {
                 date: "$dateCreated",
                 timezone: "GMT"
             }}
       ]}
     }
   }
])


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