sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur hämtar de senaste posterna med find_one i pymongo

Använd sort i *args för find_one()

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

Använder _id här eftersom ObjectId värden kommer alltid att "ökas" när de läggs till, men allt annat som ett "datum" som också indikerar det "senaste" kan användas så länge det finns i DESCENDING sorteringsordning, vilket betyder att "senast" är "överst" i resultaten.

Du kan import pymongo om du inte redan har gjort det och använd pymongo.DESCENDING token, eller bara -1 för att ange "fallande" ordning. Den förra gör förmodligen mycket tydligare kod.

Notera också den "ordnade dikten" eftersom ordningen på tangenterna för "sortering" vanligtvis är viktig, eller åtminstone om du vill sortera på kombinationen av mer än en tangent.




  1. Hitta n-nivå kapslade underdokument MongoDB

  2. Kan inte ansluta till MongoDB med autentisering aktiverad

  3. Hur tar man bort felsökning från en Express-app?

  4. När jag börjar blomma får jag följande:dbm.error:db-typen är dbm.gnu, men modulen är inte tillgänglig