sql >> Databasteknik >  >> NoSQL >> MongoDB

Använder findOne i mongodb för att få element med max id

Du bör använda find , som du redan är, och inte aggregering som kommer att gå långsammare eftersom den måste skanna alla värdena för _id-fält för att räkna ut max.

Som kommentarerna påpekade finns det nej skillnad mellan att använda find() och findOne() - funktionellt eller elegansmässigt. Faktum är att findOne i skalet (och i drivrutinerna som implementerar det) definieras i termer av fynd (med gräns -1 och med vackert tryck i skalet).

Om du verkligen vill göra motsvarande

db.collection.find().sort({_id:-1}).limit(1).pretty()

som findOne du kan göra det med denna syntax:

db.collection.findOne({$query:{},$orderby:{_id:-1}})


  1. Hur ökar man Redis prestanda när 100% CPU? Sharding? Snabbaste .Net-klienten?

  2. Plats i mongoose, mongoDB

  3. Unikt index i mongoose fungerar inte

  4. ConnectionMultiplexer.Anslutning avbryts vid anslutning till redis-server