我的用户个人资料数据为:
{u'DOB': None,
u'_id': ObjectId('5906f3b.....'),
u'active': 0,
u'bfunc': 0,
u'city': None,
u'contact': u'',
u' created':1493627839,
u'email': u'mymail@demo.c
u'facebook_id': u'',
u'fburl': None,
u'firstname': u'',
u'gender': None,
u'group_id': None}
我希望根据created
字段查找过去4小时之间的所有数据。
当前created value
为1493627839
,2017-05-01 14:07:19
我想找到lessthan
当前时间和greaterthan
过去4小时。
我怎样才能根据日期时间找到价值。
我应该将当前时间转换为timestamp
然后查找或其他内容吗?
我做了这个,但它返回0,因为我的值以timestamp
格式存储。
value = []
cursor = collection.find({
'created': {
"$gte": datetime.datetime.now(),
"$lt": datetime.datetime.now() - datetime.timedelta(days=5)
}
})
我怎么能查询它。
注意:我将值存储在php
中,但此查询是在' python 2.7'中触发的。
编辑:
value = []
cursor = collection.find({
'created': {
"$lt": datetime.datetime.now(),
"$gte": datetime.datetime.now() - datetime.timedelta(days=5)
}
})
但仍然发现查询为空
答案 0 :(得分:1)
您正在使用相反的条件,请按以下方式使用
timenow=datetime.datetime.now();
ltunix = timenow.strftime('%s'); //convert to timestamp
gteTime= timenow- datetime.timedelta(hours=4);
getTimeUnix=gteTime.strftime('%s'); //convert to timestamp
cursor = collection.find({
'created': {
"$lt": ltunix,
"$gte": getTimeUnix
}
})