MongoDB에서 타임스탬프로 정렬

Shraddha Paghdar 2023년6월20일
MongoDB에서 타임스탬프로 정렬

오늘 포스트에서는 MongoDB에서 타임스탬프를 정렬하는 다양한 방법을 살펴보겠습니다.

MongoDB에서 타임스탬프로 정렬

sort() 메서드는 MongoDB의 문서를 정렬합니다. 이 메서드는 필드 목록과 정렬 순서가 있는 문서를 허용합니다.

1-1은 정렬 순서를 지정합니다. 오름차순의 경우 ‘1’을 사용하십시오. 내림차순은 -1을 사용하십시오.

통사론:

db.collection_name.find().sort({ field_name : 1 | -1 })

이 경우 정렬을 실행하려는 컬렉션은 collection_name으로 지정됩니다. ASC 또는 DESC 순서로 정렬해야 하는 필드는 field_name으로 지정됩니다.

sort() 메서드는 원하는 정렬 순서를 지정하지 않으면 페이지를 오름차순으로 표시합니다. 불안정한 정렬은 동일한 데이터 세트에 적용될 때마다 다른 결과를 산출합니다.

인덱스를 활용하여 MongoDB는 정렬 작업의 결과를 찾을 수 있습니다. 인덱스 스캐닝이 정렬 순서를 결정할 수 없는 경우 MongoDB는 top-k 정렬 알고리즘을 수행합니다.

이전 아이디어를 더 잘 이해하는 데 도움이 되도록 다음 예를 고려하십시오.

> db.employees.find().sort({ "joining_date" : -1 })

직원 컬렉션의 가입 날짜에 따라 위의 예에서 직원을 정렬합니다. 입사 날짜 열은 직원의 ISO 형식 입사 날짜를 추적합니다.

created_at 필드를 기준으로 정렬하려는 경우 타임스탬프가 있으므로 _id를 사용할 수도 있습니다. 그것은 같은 결과를 초래할 것입니다.

> db.employees.find().sort({ "_id" : -1 })
or
> db.employees.find().sort({ "create_at" : -1 })

MongoDB와 호환되는 MongoShell에서 위의 코드 줄을 실행합니다. 다음과 같은 결과가 표시됩니다.

{
  "_id" : ObjectId("54f612b6029b47919a90cesd"),
  "email" : "johndoe@exampledomain.com",
  "name" : "John Doe",
  "create_at" : "ISODate("2020-07-04T00:00:00Z")",
  "joining_date" : "ISODate("2020-07-04T00:00:00Z")"
}
{
  "_id" : ObjectId("54f612b6029b47919a97cesd"),
  "email" : "smithwarn@exampledomain.com",
  "name" : "Smith Warn",
  "create_at" : "ISODate("2020-04-28T00:00:00Z")",
  "joining_date" : "ISODate("2020-04-28T00:00:00Z")"
}
{
  "_id" : ObjectId("54f612b6029b47919a91cesd"),
  "email" : "jessicawill@exampledomain.com",
  "name" : "Jessica Will",
  "create_at" : "ISODate("2019-12-14T00:00:00Z")",
  "joining_date" : "ISODate("2019-12-14T00:00:00Z")"
}
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn