對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 } ] }考慮以下學生記錄:
嘗試使用 mongo shell 中嵌入的 JavaScript 手動迭代分數數組會提示錯誤。
解: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 }} )
要將分數陣列排序,請考慮以下MongoDB 聚合框架管道:
{ "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中文網其他相關文章!