[MONGODB] MongoDB를에 findOne를 사용하면 최대 ID를 가진 요소를 얻을 수
MONGODBMongoDB를에 findOne를 사용하면 최대 ID를 가진 요소를 얻을 수
나는 몽고의 컬렉션에서 하나 개의 요소, 가장 큰 _id 필드 하나를 검색하려합니다. 나는이가 쿼리하여 수행 할 수 있습니다 알고 :
db.collection.find().sort({_id: -1}).limit(1)
그러나) (그것은 종류의 unelegant 보인다 나는 findOne를 사용하여 특정 요소를 얻을 수있는 방법이 있는지 궁금 해서요
참고 : 나는 ObjectId가에서 읽은에서 첫 번째 바이트는 신기원 이후 밀리 초에 해당하므로, 마지막 요소는 가장 큰 _id있을 것이다 삽입되고,이 때문에하고 싶어. 콜렉션에 삽입 된 마지막 요소를 검색 할 수있는 다른 방법이 있나요?
해결법
-
==============================
1.당신은 당신이 이미 같은 발견을 사용해야하고 최대 알아낼 _id 필드의 모든 값을 검사해야하므로 속도가 느려집니다되지 집계한다.
당신은 당신이 이미 같은 발견을 사용해야하고 최대 알아낼 _id 필드의 모든 값을 검사해야하므로 속도가 느려집니다되지 집계한다.
코멘트 지적 찾기 ()와 findOne ()를 사용하여 차이가 없다 - 기능적 또는 우아함이 많다는. 사실, findOne 쉘에 (그것을 구현하는 드라이버에서) (한도 -1 셸에서 귀여운 프린트가) 발견의 관점에서 정의된다.
당신이 정말로에 해당하는 작업을 수행하려면
db.collection.find().sort({_id:-1}).limit(1).pretty()
findOne 당신이 구문을 사용하여 그것을 할 수 있습니다 :
db.collection.findOne({$query:{},$orderby:{_id:-1}})
-
==============================
2.당신은 MongoDB를의 집계를 사용하여 최대 _id를 얻을 수 있습니다. 찾아 종류의를 과잉 수 있습니다.
당신은 MongoDB를의 집계를 사용하여 최대 _id를 얻을 수 있습니다. 찾아 종류의를 과잉 수 있습니다.
db.myCollection.aggregate({ $group: { _id: '', last: { $max: "$_id" } } });
-
==============================
3.PHP 드라이버 (MongoDB를) ()을 사용 findOne
PHP 드라이버 (MongoDB를) ()을 사용 findOne
$filter=[]; $options = ['sort' => ['_id' => -1]]; // -1 is for DESC $result = $collection->findOne(filter, $options); $maxAge = $result['age']
-
==============================
4.
import pymongo tonystark = pymongo.MongoClient("mongodb://localhost:27017/") mydb = tonystark["tonystark_db"] savings = mydb["customers"] x = savings.find().sort("_id") for s in x: print(s)
-
==============================
5.
$maxId=""; $Cursor =$collection->find(); foreach($cursor as $document) { $maxid =max($arr=(array($document['id']))); } print_r($maxid+1);
from https://stackoverflow.com/questions/22118210/using-findone-in-mongodb-to-get-element-with-max-id by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 중첩 배열 쿼리 (0) | 2019.12.13 |
---|---|
[MONGODB] 어떻게 MongoDB를 내부 목록에 요소를 삽입? (0) | 2019.12.13 |
[MONGODB] 문서에서 일부 필드를 제외하는 방법 (0) | 2019.12.13 |
[MONGODB] 몽구스 : 깊은 인구 (채워진 필드를 채울) (0) | 2019.12.13 |
[MONGODB] 몽고에 인증 할 수 없습니다 "인증 실패" (0) | 2019.12.13 |