我认为收集 myColl 的最高效的方法是:
db.myColl.find().sort( {_id : 1 }).limit( 1 ); // get min
db.myColl.find().sort( {_id : -1 }).limit( 1 ); // get max
有什么方法可以避免 sort() 吗?
MongoDB中的
_id's
是根据时间戳自动生成的ObjectIds,正如文档中提到的,最后3个字节是递增计数的,集合中的文档默认是排序的。因此,要找到最小_id,您可以找到第一个文档,而要找到最大_id,最后插入的文档将具有最大_id。
在其他情况下,如果在您的用例中,在插入时定义 _id,则上述查询是在集合中查找最小和最大 _id 的最有效查询。
致以诚挚的问候 阿萨瓦里