MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So rufen Sie die neuesten Datensätze mit find_one in Pymongo ab

Verwenden Sie sort in den *args für find_one()

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

Verwenden von _id hier weil die ObjectId Werte werden immer "erhöht", wenn sie hinzugefügt werden, aber alles andere wie ein "Datum", das auch das "Neueste" anzeigt, kann verwendet werden, solange es im DESCENDING steht Sortierreihenfolge, was bedeutet, dass "Neueste" ganz oben in den Ergebnissen steht.

Sie können import pymongo falls Sie das noch nicht getan haben und verwenden Sie den pymongo.DESCENDING Token oder einfach -1 um "absteigende" Reihenfolge anzuzeigen. Ersteres macht wahrscheinlich viel klareren Code.

Beachten Sie auch das "geordnete Diktat", da die Reihenfolge der Schlüssel zum "Sortieren" normalerweise wichtig ist, oder zumindest wenn Sie nach der Kombination von mehr als einem Schlüssel sortieren möchten.