【问题标题】:I want to create a last clock filter pymongo我想创建一个最后一个时钟过滤器 pymongo
【发布时间】:2020-10-24 13:36:33
【问题描述】:

我正在做一个网站。我将从数据库中获得的所有数据写成一个列表。我想做一个过滤器。我只想获取最近一小时的数据。

@app.route('/task/list/birsaat', methods=['GET'])
def get_birsaat():
  birsaat_tasks=tasks_collection.find({"zaman":"zaman.utcnow()-timedelta(hours=1)"})
  task_list_birsaat = []
  for rss_collection in birsaat_tasks:
      task_list_birsaat.append({'baslik': rss_collection['baslik'],
      'kisa_bilgi': rss_collection['kisa_bilgi'], 'link': rss_collection['link'],
      'zaman':    rss_collection['zaman'], 'saglayici': rss_collection['saglayici']})

  response_birsaat = jsonify(task_list_birsaat)
  response_birsaat.headers.add('Access-Control-Allow-Origin', '*')
  return response_birsaat

zaman 在土耳其语中的意思是时间。我的数据库数据

_id:5eff873b4f9b5e349c14bc91
baslik:"KKTC’ye gelen tüm yolculara 1 gün karantina şartı getirildi"
kisa_bilgi:"haberler"
zaman:"Fri, 03 Jul 2020 21:25:00 +0300"
saglayici:"sabah"

【问题讨论】:

  • zaman 类型是数据库中的字符串还是日期时间?

标签: python mongodb flask time filter


【解决方案1】:

如果您想查找到现在为止的最后一小时结果,您应该在查询中添加$gte,如果zaman 是字符串,您应该将目标值转换为您保存的格式,如果您想访问Fri, 03 Jul 2020 21:25:00 +0300 你可以用这个:

(zaman.utcnow()-timedelta(hours=1)).ctime()) 

输出是:

'Sat Jul  4 06:39:30 2020'

要将, 添加到上述结果中,您可以使用:

dt = (zaman.utcnow()-timedelta(hours=1)).ctime()) 
spl = dt.split(' ')
res = spl[0] + ',' + ' ' + spl[3]  + spl[2] + ' ' + spl[-1] + ' ' + spl[4] + ' ' + '+0300'

结果是: 'Sat, 4 2020 06:39:30 +0300' 那么你应该按这个值过滤 mongodb。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多