mongodb插入的最后一个文档

WBOY
풀어 주다: 2016-06-06 20:20:17
원래의
1114명이 탐색했습니다.

我们在使用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>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!