我有一个系列学生看起来像这样:
{
"_id" : 10,
"name" : "Christiano Ronaldo",
"scores" : [
{
"type" : "exam",
"score" : 40.58945534169687
},
{
"type" : "quiz",
"score" : 4.30461571152303
},
{
"type" : "homework",
"score" : 62.36309025722009
},
{
"type" : "homework",
"score" : 32.1707802903173
}
]
}
我如何找到最低的作业?使用javadriver 注意:我无法更改数据模型。
答案 0 :(得分:-1)
请尝试以下操作 -
x = db.students.aggregate([{
"$unwind": "$scores"
}, {
"$match": {
"scores.type": "homework"
}
}, {
"$group": {
"_id": "$_id",
"minscore": {
"$min": "$scores.score"
}
}
}])
您的结果文档“x”包含一个数组字段 - 文档中的最低分数