sql >> Databáze >  >> NoSQL >> MongoDB

Jak načíst nejnovější záznamy pomocí find_one v pymongo

Použijte sort v *args pro find_one()

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

Pomocí _id zde protože ObjectId hodnoty se vždy "zvyšují", jak jsou přidávány, ale cokoli jiného, ​​jako je "datum", které také označuje "nejnovější", lze použít, pokud je to v DESCENDING pořadí řazení, což znamená, že „nejnovější“ je ve výsledcích „nahoře“.

Můžete import pymongo pokud jste to ještě neudělali a použijte pymongo.DESCENDING token, nebo jen -1 k označení "sestupného" pořadí. První pravděpodobně dělá mnohem jasnější kód.

Všimněte si také „ordered dict“, protože pořadí kláves pro „třídění“ je obvykle důležité, nebo alespoň pokud chcete třídit podle kombinace více než jednoho klíče.




  1. MongoDB dotaz v poli objektu

  2. Jak se bezpečně připojit k Heroku Redis přes příkazový řádek?

  3. Je možné MongoDb TTL na vnořeném dokumentu?

  4. Služba MongoDB se po počátečním nastavení nespustí