MongoDB에서 임베디드 배열 정렬
질문:
점수 배열을 어떻게 정렬할 수 있나요? MongoDB 컬렉션의 각 학생 기록 내에서 내림차순으로 점수?
문제:
다음 학생 기록을 고려하십시오.
{ "_id": 1, "name": "Aurelia Menendez", "scores": [ { "type": "exam", "score": 60.06045071030959 }, { "type": "quiz", "score": 52.79790691903873 }, { "type": "homework", "score": 71.76133439165544 }, { "type": "homework", "score": 34.85718117893772 } ] }
포함된 JavaScript를 사용하여 점수 배열을 수동으로 반복하려는 시도 mongo 쉘이 프롬프트를 표시합니다. error.
해결책:
점수 배열을 정렬하려면 다음 MongoDB Aggregation Framework 파이프라인을 고려하세요.
db.students.aggregate( // Match the document (uses index if suitable) { $match: { _id: 1 }}, // Unwind scores array { $unwind: '$scores' }, // Filter to specific score type (optional) { $match: { 'scores.type': 'homework' }}, // Sort scores array { $sort: { 'scores.score': -1 }} )
출력( 샘플):
{ "result": [ { "_id": 1, "name": "Aurelia Menendez", "scores": { "type": "homework", "score": 71.76133439165544 } }, { "_id": 1, "name": "Aurelia Menendez", "scores": { "type": "homework", "score": 34.85718117893772 } } ], "ok": 1 }
위 내용은 MongoDB에 내장된 배열을 내림차순으로 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!