gpt4 book ai didi

java - 查询嵌套文档数组以获得字段的最大值

转载 作者:可可西里 更新时间:2023-11-01 09:10:56 26 4
gpt4 key购买 nike

我正在尝试查询 mongodb 中的嵌套文档数组,并获取该嵌套文档中特定字段的最大值。 (在 Java 中)

这里是一个文档结构的例子,我想在数组中找到“value”字段的最大值。

{
"_id" : ObjectId("526d89571cd72ce9dbb6b443"),
"array" : [
{"text" : "this is a nested document", "value" : 1 },
{"text" : "this is another nested document", "value" : 2 }
]
}

最佳答案

您也可以尝试现代方法 - aggregation framework :

1) 查找集合中所有元素的最大数组“值”:

db.collection.aggregate([
{ $unwind: "$array" },
{ $group: { _id: "$_id", value: { $max: "$array.value" } } }
]);

2) 查找指定元素的最大数组“值”:

db.collection.aggregate([
{ $match: { _id: new ObjectId("526d89571cd72ce9dbb6b443") } },
{ $unwind: "$array" },
{ $group: { _id: null, value: { $max: "$array.value" } } }
]);

在这些示例中使用真实的集合名称而不是 collection

有关如何在 Java MongoDB 驱动程序中使用聚合的一些信息:Java Driver and Aggregation Framework .

关于java - 查询嵌套文档数组以获得字段的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com