MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Използване на findOne в mongodb за получаване на елемент с максимален идентификатор

Трябва да използвате find , както вече сте, а не агрегирането, което ще бъде по-бавно, тъй като трябва да сканира всички стойностите на полетата _id, за да разберете макс.

Както посочиха коментарите, не разлика между използването на find() и findOne() - функционално или елегантно. Всъщност findOne в обвивката (и в драйверите, които го прилагат) се дефинира по отношение на find (с ограничение -1 и с красив печат в обвивката).

Ако наистина искате да направите еквивалента на

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

като findOne можете да го направите с този синтаксис:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Грешка в MongoDB:Не може да се използва повторно записване с limit=0

  2. как да управлявате полето _id, когато използвате POCO с mongodb c# драйвер

  3. MongoDB bulkWrite()

  4. JSON сериализира Mongodb

  5. 5 начина за избор на редове с максимална стойност за тяхната група в SQL