찾아낸 결과가 엄청 많아서 페이지 단위로 접근하고 싶다면, 아래 쿼리를 꼭 배우세요~
db.orders.find().sort( { "_id": -1 } ).skip((page-1)*2).limit(2);
길게 보이지만,
원하는 결과를 찾아서, 정렬하고, 앞에 부분을 원하는 개수만큼 스킵하고, 제한된 숫자로 가져오고
그래도 모르면 쓸 수 없다는....자세한 내용은 아래 원본 글을 참고합시다. 글 저자 보호~~
sort() 가 좀 적어둘 필요가 있어 보여서
amount 오름차순으로 정렬, 정렬한 값에서 id 내림차순 정렬
정답은 => db.orders.find().sort( { "amount": 1, "_id": -1 } )
오름차순은 "1"
내림차순은 "-1" 이 되시겄다.
흐미..이 개념이 MongoEngine 에서는 아래와 같이 적용해야 한다.
docs.mongoengine.org/guide/querying.html
2.5.3. Sorting/Ordering results
# Order by ascending date
blogs = BlogPost.objects().order_by('date') # equivalent to .order_by('+date')
# Order by ascending date first, then descending title
blogs = BlogPost.objects().order_by('+date', '-title')
2.5.4. Limiting and skipping results
# Only the first 5 people
users = User.objects[:5]
# All except for the first 5 people
users = User.objects[5:]
# 5 users, starting from the 11th user found
users = User.objects[10:15]
BJ.
Julia Volk 님의 사진, 출처: Pexels
'IT > 파이썬' 카테고리의 다른 글
파이썬 mongodb MongoEngine 사용시 filter 함수 (0) | 2021.02.14 |
---|---|
파이썬 flask Response JSON 리스트로 내보내기 (0) | 2021.02.13 |
파이썬 - python -m venv fails: returned non-zero exit status 1 (0) | 2021.02.09 |
파이썬 pyqt5 pyside2 윈도우 창 상태 - maximized 확인 (0) | 2021.02.02 |
파이썬 JSON 읽기 에서 특정 키 가 있는지 먼저 확인하기 (0) | 2021.02.02 |