mongdb取每分钟数据

mongdb取每分钟数据,第1张

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import json
from pymongo import MongoClient
import time
import cx_Oracle
def id2time(object_id):
    timeStamp = int(object_id[:8], 16)
    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timeStamp))
import pymongo
import time
import datetime
from bson.objectid import ObjectId


def object_id_from_datetime(from_datetime=None):
    ''' According to the time manually generated an ObjectId '''
    if not from_datetime:
        from_datetime = datetime.datetime.now()
    return ObjectId.from_datetime(generation_time=from_datetime)

def object_id_from_datetime(from_datetime=None):
    ''' According to the time manually generated an ObjectId '''
    if not from_datetime:
        from_datetime = datetime.datetime.now()
    return ObjectId.from_datetime(generation_time=from_datetime)

def range_search(start_timestamp, end_timestamp):
  connection = MongoClient("mongodb://20.5.xx.xx:27017/")
  with connection:
    db = connection['mario']
    db.authenticate("mario", "xx")
    table = db['alertSetSend']
    a = table.find({ '$and': [{'_id':{'$lt' : end_timestamp, '$gte' : start_timestamp}}]})
    #a = table.find({'_id':{'$lt' : end_timestamp, '$gte' : start_timestamp}})
    #a.find({'idx':'9551097'})
    b=a
    #print type(b)
    for x in b:
        #print str(x['_id'])+'=>'+id2time(str(x['_id']))+'=>'+str(x)
        try:
             x['tags']['systemName']
        except:
             x['tags']['systemName']='Other'
        print x
        print id2time(str(x['_id']))+'=>'+x['text']+'=>'+x['tags']['indexName']+'=>'+x['tags']['systemName']

       
        #print str(x['_id']) + '=>' + id2time(str(x['_id']))
  ##时间要减去8
  #start time
def getdate(hours,minutes):
         today = datetime.datetime.now() #
 offset = datetime.timedelta(hours=-hours,minutes=-minutes)
 re_date = (today + offset).strftime("%Y-%m-%d %H:%M:%S")
 return str(re_date)


str1=getdate(8,1)
print str1
start_time=datetime.datetime.strptime(str1,"%Y-%m-%d %H:%M:%S")
start_timestamp = object_id_from_datetime(start_time)
print start_timestamp
#end time
str2=getdate(8,0)
print str2
end_time=datetime.datetime.strptime(str2,"%Y-%m-%d %H:%M:%S")
end_timestamp = object_id_from_datetime(end_time)
print end_timestamp
range_search(start_timestamp, end_timestamp)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/722695.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-26
下一篇2022-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存