sql >> Database >  >> NoSQL >> MongoDB

Hoe de nieuwste records ophalen met find_one in pymongo

Gebruik sort in de *args voor find_one()

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

_id gebruiken hier omdat de ObjectId waarden zullen altijd "verhogen" als ze worden toegevoegd, maar al het andere, zoals een "datum" die ook de "laatste" aangeeft, kan worden gebruikt zolang het in de DESCENDING staat sorteervolgorde, wat betekent dat "laatste" bovenaan de resultaten staat.

U kunt import pymongo als je dat nog niet hebt gedaan en gebruik de pymongo.DESCENDING token, of gewoon -1 om de "aflopende" volgorde aan te geven. De eerste maakt waarschijnlijk een veel duidelijkere code.

Let ook op het "geordende dict" aangezien de volgorde van sleutels voor "sorteren" meestal belangrijk is, of in ieder geval als je wilt sorteren op de combinatie van meer dan één sleutel.




  1. Persbericht:ScaleGrid kondigt hostingservice aan voor Redis™ op AWS

  2. Tijdstempel ophalen van mongodb id

  3. Hoe Pyramid 1.1 en Mongo DB te integreren - zo min mogelijk regels

  4. MongoDB-gegenereerde _ids gebruiken als geheime gegevens (bijv. OAuth-tokens)