使用java查找MongoDB中数组元素的平均值

使用java查找MongoDB中数组元素的平均值,java,mongodb,aggregation-framework,Java,Mongodb,Aggregation Framework,我是MongoDB的新手。我必须找到Mongo DB中数组元素的平均值 e、 g 我想要inq的平均值,其中查询:iPad 此处的输出应为: inq=263 我在google中搜索得到了聚合方法,但无法在java代码中转换它 提前谢谢 请尝试获取mongodb的java驱动程序。我可以从mongodb站点获得此链接。请检查此项:尝试获取mongodb的java驱动程序。我可以从mongodb站点获得此链接。请检查此项:让我们尝试分解该问题。首先,我想说: db.c.aggregate({$ma

我是MongoDB的新手。我必须找到Mongo DB中数组元素的平均值 e、 g

我想要inq的平均值,其中查询:iPad

此处的输出应为:

inq=263
我在google中搜索得到了聚合方法,但无法在java代码中转换它

提前谢谢


请尝试获取mongodb的java驱动程序。我可以从mongodb站点获得此链接。请检查此项:

尝试获取mongodb的java驱动程序。我可以从mongodb站点获得此链接。请检查此项:

让我们尝试分解该问题。首先,我想说:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project: {_id:0,
q:"$query",i:"$rating.inq"}})
投影不是必需的,但使其余部分更具可读性:

{
    "result" : [
            {
                    "q" : "iPad",
                    "i" : "403"
            },
            {
                    "q" : "iPad",
                    "i" : "123"
            }
    ],
    "ok" : 1
}
那我该如何分组呢?当然,通过$q:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project: {_id:0, 
q:"$query",i:"$rating.inq"}}, {$group:{_id: "$q"}}) :

{ "result" : [ { "_id" : "iPad" } ], "ok" : 1 }
现在,让我们添加一些聚合运算符:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project: {_id:0, q:"$query",i:"$rating.inq"}}, {$group:{_id: "$q", max: {$max: "$i"}, min: {$min: "$i"}}}) :

{
    "result" : [
            {
                    "_id" : "iPad",
                    "max" : "403",
                    "min" : "123"
            }
    ],
    "ok" : 1
}
现在是平均数:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project:  
{_id:0,q:"$query",i:"$rating.inq"}}, {$group:{_id: "$q", av: {$avg:"$i"}}});

让我们试着分解那个问题。首先,我想说:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project: {_id:0,
q:"$query",i:"$rating.inq"}})
投影不是必需的,但使其余部分更具可读性:

{
    "result" : [
            {
                    "q" : "iPad",
                    "i" : "403"
            },
            {
                    "q" : "iPad",
                    "i" : "123"
            }
    ],
    "ok" : 1
}
那我该如何分组呢?当然,通过$q:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project: {_id:0, 
q:"$query",i:"$rating.inq"}}, {$group:{_id: "$q"}}) :

{ "result" : [ { "_id" : "iPad" } ], "ok" : 1 }
现在,让我们添加一些聚合运算符:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project: {_id:0, q:"$query",i:"$rating.inq"}}, {$group:{_id: "$q", max: {$max: "$i"}, min: {$min: "$i"}}}) :

{
    "result" : [
            {
                    "_id" : "iPad",
                    "max" : "403",
                    "min" : "123"
            }
    ],
    "ok" : 1
}
现在是平均数:

db.c.aggregate({$match: {query: "iPad"}}, {$unwind:"$rating"}, {$project:  
{_id:0,q:"$query",i:"$rating.inq"}}, {$group:{_id: "$q", av: {$avg:"$i"}}});

你试过java的JSON api吗。看看我们如何使用JSON api实现它?你能举个例子吗?你是否尝试过java的JSON api。看看我们如何使用JSON api实现它?你能举个例子吗?我看过这个例子,但这不是一个数组。我面临数组的问题。我见过这个例子,但这不是数组的问题。我面临阵列问题。