我有一个学生集合,如下所示:
{
"_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。
最佳答案
您不需要进行正常查询。您始终查询完整文档而不是该文档中的嵌入元素。如果您为每个分数制作单独的文档,例如:
{
"_id" : 10,
"name" : "Christiano Ronaldo",
"type" : "exam",
"score" : 40.58945534169687
}
您可以搜索克里斯蒂亚诺·罗纳尔多的最高/最低考试成绩。请注意,MongoDB 聚合框架可用于回答您的问题,但我假设这超出了此处的范围。
另请注意,您的架构存在很大问题。无法使用此模式查询特定的“作业”分数。我将在这里进行非规范化并使用每个分数的文档。
关于java - Mongodb:查找嵌入数组中的最低元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812976/