我有一个系列学生看起来像这样:
{
"_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 :(得分:3)
您没有正常的查询。您始终查询完整文档而不是该文档中的嵌入元素。如果您为每个分数制作单独的文档,例如:
{
"_id" : 10,
"name" : "Christiano Ronaldo",
"type" : "exam",
"score" : 40.58945534169687
}
您可以搜索Christiano Ronaldo的最高/最低考试成绩。请注意,MongoDB聚合框架可用于回答您的问题,但我将假设这不在此范围内。
另请注意,您的架构存在问题。无法使用此架构查询特定的“作业”分数。我会在这里进行非规范化并按分数使用文档。