3
respostas

Consulta registros e lista a série temporal

Oi caros instrutores, favor me ajudar a fazer uma pesquisa e listar os registros de acordo com a data e hora. Tenho o seguinte formado da coleção no MongoDB( o registro da placa coloquei xxxx por questões de proteção de dados sigilosos):

{'id': ObjectId('5ed6f89c76c78d4b10091b86'), 'DATAHORA': datetime.datetime(2019, 10, 21, 3, 0), 'LOCAL': 162266, 'RODOVIA': 'GO-080', 'KM': 'KM25', 'METRO': '500M', 'SENTIDO': 'NEROPOLIS / GOIANIA', 'FAIXA': 2, 'VELOCIDADE_PERMITIDA': 40, 'VELOCIDADE_AFERIDA': 38, 'CLASSIFICACAO': 1, 'PLACA': 'JHLxxxx', 'CODIGO_INFRACAO': 0, 'arquivo_origem': '20191101_1.txt', 'CODIGO_LOCAL': 162266, 'LOCAL_LATITUDE': '-16.415562', 'LOCAL_LONGITUDE': '-49.219164', 'COD_CLASSIFICACAO': 1, 'DESC_CLASSIFICACAO': 'Automóveis', 'RAND_RANK': 0.10804, 'created_at': datetime.datetime(2020, 5, 19, 15, 2, 44)}

Estou tentando fazer uma consulta que me dê a seguinte lista ordenda em json: PLACA / LOCAL / DATA_HORA

Eu tentei assim: serietempo_local_placa = consulta_db.aggregate([ {'$group':{'id': '$PLACAS'}, '$group':{'id': '$LOCAL'} '$sort':{'Data/Hora': '$DATA_HORA'} }]) for i in serietempo_local_placa: print(i)

Mas deu erro

Podem me ajudar ?

Obrigada

3 respostas

Olá Luciana, tudo bem?

Você poderia disponibilizar mais detalhes do seu ambiente? Você está utilizando alguma linguagem de programação? Se sim, qual linguagem está utilizando? Está utilizando algum framework? Qual o cliente você está utilizando para acessar o banco de dados?

Aguardo o seu retorno!

Estou usando o Jupyter, Python e a base de dados está em um plataforma MongoDB

Certo Luciana, você poderia utilizar para realizar a ordenação o metode de cursor cursor.sort ou o operador de agregação $ sort, os dois são utilizados para ordenação de documentos e creio que um deles pode resolver o problema de ordenar a lista.

Espero ter ajudado e bons estudos!