排序,跳过等操作可能会非常慢,具体取决于集合的大小。
如果按某些条件对集合进行索引,则可以实现更好的性能。 然后可以使用min()光标:
首先,使用db.collectionName.setIndex( yourIndex )
集合进行索引。您可以使用升序或降序,这很酷,因为您始终希望“ N个最后一项” ...因此,如果按降序索引则相同作为获得“前N个项目”。
然后,找到集合的第一项,并在搜索中将其索引字段值用作最小条件:
db.collectionName.find().min(minCriteria).hint(yourIndex).limit(N)
这是min()游标的参考: https : //docs.mongodb.com/manual/reference/method/cursor.min/
-----方法2---------------------------------------
db.users.find({},{books:{$slice:[index,length]}})
-----方法3---------------------------------------
为了获得最后的N条记录,您可以执行以下查询:
db.yourcollectionn