我有一个 mongo 数据库,在其中将日期和时间存储在单独的字段中(我无法更改此设置)。通过谷歌搜索,我发现了人们通过将字段分为两部分来查询日期和时间的示例,其中 1 部分表示日期,1 部分表示时间,例如:
{"dateField": {"d": "06/18/2012" "t": "12:00:00 AM"}}
{"timeField": {"d": "06/18/2012" "t": "12:07:10 PM"}}
我见过人们(并且我自己)查询日期部分:
db.collection.find({"dateField.d": {"$gte": "06/18/2012"}})
我的问题是我无法随着时间的推移尝试同样的事情得到准确的结果:
db.collection.find({"timeField.t": {"$gte": "12:00:00 PM"}})
有没有一种特定的方法可以格式化我的时间数据来查询它?或者是否有更好的方法来存储时间数据,以便我可以只查询时间(而不依赖于日期)?
最佳答案
您需要以真实的日期格式或数字存储数据。当您进行这些搜索时,比较使用 lexicography订单不是您想要的。如果您确实想使用字符串,您应该使用 ISO formats 之一它在哪里工作。
关于python - mongo中查询某个时间范围内的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086782/