Heim >Backend-Entwicklung >PHP-Tutorial >mongodb插入的最后一个文档

mongodb插入的最后一个文档

WBOY
WBOYOriginal
2016-06-06 20:20:171146Durchsuche

我们在使用Mongodb时,有一个需求,就是要取得某个集合的最后一条记录.
最开始的开始我们想通过_id排序, 但是这个应该不是严格的顺序.
我们还尝试了时间戳的方式,这个也不能解决我们的问题.
最后没办法我们就借助,redis生成了自增的id,存入的mongodb中.
不过这个用法真的很恶心.大家有什么好的方法解决这个问题吗?

回复内容:

我们在使用Mongodb时,有一个需求,就是要取得某个集合的最后一条记录.
最开始的开始我们想通过_id排序, 但是这个应该不是严格的顺序.
我们还尝试了时间戳的方式,这个也不能解决我们的问题.
最后没办法我们就借助,redis生成了自增的id,存入的mongodb中.
不过这个用法真的很恶心.大家有什么好的方法解决这个问题吗?

_id排就可以了,这个得生成本身就跟时间有关系

ObjectId is a 12-byte BSON type, constructed using:

a 4-byte value representing the seconds since the Unix epoch,
a 3-byte machine identifier,
a 2-byte process id, and
a 3-byte counter, starting with a random value

如果没有自己复写_id的算法,可以用_id直接排序的

除非你们自己生产了Mongodb的ObjectId,否则_id是绝对唯一的primary key. 通过下面的排序就可以轻易得到最后一条数据.

<code> $sort:{_id:-1 }</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn