【发布时间】:2017-11-20 11:06:00
【问题描述】:
我是 pymongo 的新手,我想在给定的 datetime 对象之间获取数据。我给出了具有不同时间的相同日期,这意味着如果我给出不同的日期意味着显示结果,它不会返回任何结果。我不知道为什么?所以,请任何人帮助我。我正在使用 MongoDB Compass,这里 ISODate 在 MongoDB Compass 中不可用,只有 Date 对象所以,我不希望 ISODate.Anyone 指导我。
这是我的代码:
start = datetime.datetime(2017,11,17,10,00,23)
end = datetime.datetime(2017,11,17,14,00,56)
data = db.datapoints.find({'res_date':{'$gte':start,'$lte':end }})
这样的Mongo文档:
{
_id:5a0c06aacff7580001e10fc9
res_value:"1"
line_code:"1"
res_date:2017-11-17 10:36:40.564
res_code:"1"
}
{
_id:5a0e6fcc409d8f00017f477c
res_value:"23"
line_code:"22"
res_date:2017-11-17 10:42:44.145
res_code:"22"
}
{
_id:5a0e6fcc409d8f00017f477c
res_value:"243"
line_code:"224"
res_date:2017-11-17 12:07:07.496
res_code:"223"
}
{
_id:5a0e6fcc409d8f00017f477c
res_value:"253"
line_code:"225"
res_date:2017-11-17 12:23:32.936
res_code:"522"
}
提前致谢!!
【问题讨论】:
-
你的 res_date 的类型是什么?它是 ISODate() 吗?因为它看起来不像
-
没有。它只是日期
-
你能解决我的问题吗
-
你试过直接在你的mongo数据库中查询日期范围吗?
-
是的......但是如果比较相同的日期和不同的时间(我想获得最近三个小时的记录),它会为空结果集