python - mongo中查询某个时间范围内的数据

标签 python mongodb pymongo

我有一个 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/

相关文章:

python - 将新数据合并到现有数据框中

python - 如何在Python中定义一个使多项式相等的函数

python - Django - 如何获得永久链接以使用 "throwaway"slug

python - 使用自定义模型和 mongodb 进行 Django 用户身份验证

javascript - 如何在不知道mongodb中的父键的情况下查找特定的嵌套对象

mongodb - mongodb写锁行为

mongodb - Mongodb 是否有一个在查询中被忽略的特殊值?

python - 如何使用 Python 中的 AT 命令拒绝或接受对我的 GSM 调制解调器的来电?

mongodb - 列出mongo数据库或集合中的所有查询形状

MongoDB:按出现次数对不同的键进行排序