前言

比如说数据库本来有这些数据:
mongodb 取出第一条 最后一条数据_数据库
红色的就是最早添加的数据,金色的就是最晚添加的数据,

如果我们要获取这两条数据要怎么获取呢?其实很简单

获取第一条/最早添加的数据

这个小伙伴们应该指定,如果是nodejs的api中之间使用user.findOne()就能找到,但是直接在mongo使用是不行滴:
mongodb 取出第一条 最后一条数据_api接口_02
但是我们可以这样做:
db.users.find({}).limit(1)
取出所有的再限制只取一条:
mongodb 取出第一条 最后一条数据_数据库_03

这样就成功取出了第一条。

获取最后一条/最晚添加的数据

这个似乎也没有直接可以使用的api接口哦。

所以我们想起来每一个文档都有一个ObjectId,而这个ObjectId是有带时间性质的哦,我们可以先按_id进行倒序排列,再取第一条,就OK了:
db.users.find({}).sort({_id:-1}.limit(1)
mongodb 取出第一条 最后一条数据_mongodb_04

这样就成功取出了最后一条,

接着再验证试试:

mongodb 取出第一条 最后一条数据_api接口_05

可以发现最新插入的被取出来了,OK,没有问题。