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

Pomocí findOne v mongodb získáte prvek s max id

Měli byste použít find , jako už jste, a ne agregace, která bude pomalejší, protože potřebuje prohledat vše hodnoty polí _id, abyste zjistili max.

Jak bylo uvedeno v komentářích, neexistuje ne rozdíl mezi použitím find() a findOne() - funkčně nebo elegantně. Ve skutečnosti findOne v shellu (a v ovladačích, které to implementují) je definováno pomocí find (s limitem -1 a s pěkným tiskem v shellu).

Pokud opravdu chcete udělat ekvivalent

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

jako findOne můžete to udělat pomocí této syntaxe:

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


  1. Jak vypsat všechny databáze MongoDB v Node.js?

  2. Výukový program Hadoop MapReduce pro začátečníky

  3. Jak znovu použít připojení redis v socket.io?

  4. Redis 10x více využití paměti než dat