mongodb sort method with examples
Sort ()를 사용한 MongoDB의 쿼리 수정에 대한 자세한 통찰력.
xbox 360 용 vr 헤드셋이 있습니까?
MongoDB 내의 커서 및 방법 이전 튜토리얼에서 자세히 설명했습니다. MongoDB 교육 시리즈 .
이 튜토리얼에서 우리는 MongoDB의 정렬 방법.
정렬 방법은 mongo 컬렉션 내에서 문서의 우선 순위를 지정하거나 순서를 정렬하는 데 사용됩니다. 간단히 말해서 정렬 방법은 특정 기준과 일치하는 모든 문서를 정렬하고 결과를 반환합니다.
아시다시피 레코드는 커서 형태로 반환되고 정렬 방법이 커서에 적용됩니다. 따라서 정렬 방법을 커서와 결합하면 특정 순서로 문서를 반환합니다.
Sort 메서드에는 필드와 해당 값을 전달해야하는 매개 변수가 하나만 있습니다. 매개 변수는 다음과 같은 JSON 형식으로 전달됩니다. {필드 : 값} 정렬 방법의 괄호 안에. 또한 여러 필드와 값을 전달하여 레코드를 정렬 할 수도 있습니다.
학습 내용 :
오름차순 및 내림차순 정렬
이 방법을 사용하면 문서를 오름차순 및 내림차순으로 정렬 할 수 있습니다. 정렬 필드의 매개 변수로 '1'을 전달하면 문서가 오름차순으로 정렬됩니다. 필드의 매개 변수로 '-1'을 전달하면 모든 레코드가 내림차순으로 반환됩니다.
통사론
db.collection.find().sort({field:order})
암호
db.staff.find().sort({staff_id:1}) db.staff.find().sort({staff_id:-1})
그림 1 : Mongo Shell에서
그림 2 : Robo 3T에서
동시에 여러 필드를 정렬 할 수도 있습니다. 다음 코드를 사용하여이 시나리오를 관찰 할 수 있습니다.
통사론
db.collection.find().sort({field:order, field:order })
정렬 제한
Mongo DB는 가상 메모리의 모든 레코드를 정렬하며 데이터 세트에 적용되는 조건이 있습니다. 조건은 레코드가 32MB 미만이어야한다는 것입니다. 메모리 사용량이 많아 정렬이 수행되지 않는 경우가 있습니다.
메모리가 32MB를 초과하는 대규모 문서 그룹이있는 경우 정렬을 수행하지 않습니다.
대신이 쿼리를 제거하는 원인이되는 오류를 반환합니다. 이 상황을 최적화하기 위해 제한과 정렬의 조합을 사용하거나 적절한 인덱싱을 사용할 수 있습니다.
메인 파이썬에서 함수를 호출하는 방법
정렬 결과 제한
제한 방법과 함께 정렬 방법을 사용하여 제한된 레코드와 정렬 된 레코드를 함께 가져올 수 있습니다. 이러한 방식으로 Mongo DB에서 쿼리 작업을 최적화하고 메모리 소비와 함께 속도를 높일 수 있습니다.
또한 top-k 정렬 알고리즘을 사용하여 쿼리를 최적화 할 수 있습니다. 이 알고리즘에서는 레코드가 32MB 이상의 메모리를 사용할 때마다 쿼리가 자동으로 제거됩니다.
결론
정렬 방법은 레코드를 특정 순서로 정렬하는 데 도움이됩니다. 오름차순과 내림차순으로 문서를 얻을 수 있습니다. 다른 필드에서 정렬 방법을 사용하여 여러 순서를 적용 할 수도 있습니다.
필드의 알파벳 값의 경우 알파벳순으로 '1'과 '-1'까지 정렬이 적용됩니다. 예를 들어 A에서 Z까지 모든 레코드를 정렬하고 음수는 Z에서 A까지 레코드를 정렬합니다.
MongoDB 성능에 대해 자세히 알아 보려면 다가오는 자습서를 계속 지켜봐주십시오 !!
이전 튜토리얼 | NEXT 튜토리얼