对 MongoDB 集合中的嵌入数组进行排序
问题:
您有一个 MongoDB 集合学生记录,每个记录都包含嵌入的分数数组。您希望按特定文档的分数降序对分数数组进行排序。
解决方案:
要对嵌入数组进行排序,您可以使用自定义应用程序代码或 MongoDB 2.2 中引入的聚合框架。
使用聚合框架:
以下 MongoDB shell 聚合管道对 _id 1 的文档的分数数组按降序排序分数:
db.students.aggregate( { $match: { _id : 1 }}, { $unwind: '$scores' }, { $match: { 'scores.type': 'homework' }}, { $sort: { 'scores.score': -1 }} )
输出:
此聚合会生成以下输出,显示 _id 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中文网其他相关文章!