MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como buscar os registros mais recentes usando find_one no pymongo


Use sort no *args para find_one()
report = securitydb.scout.find_one(
  {'aws_account_id': aws_account.account_number},
  sort=[( '_id', pymongo.DESCENDING )]
)

Usando _id aqui porque o ObjectId os valores sempre vão "aumentar" à medida que são adicionados, mas qualquer outra coisa como uma "data" que também indica o "mais recente" pode ser usada desde que esteja no DESCENDING ordem de classificação, o que significa que "mais recente" está no "topo" dos resultados.

Você pode import pymongo se você ainda não fez isso e use o pymongo.DESCENDING token ou apenas -1 para indicar a ordem "descendente". O primeiro provavelmente torna o código muito mais claro.

Observe também o "ordenado dict", pois a ordem das chaves para "classificação" geralmente é importante, ou pelo menos se você deseja classificar a combinação de mais de uma chave.