在mongo中多次分组

哈米德·米纳

我是mongo db的新手,

我在mysql中有以下代码:

SELECT sum(Sentiment)/count(*), sum(Intensity)/count(*), count(*) FROM omid.tweet 

我需要将其转换为mongodb:

但是我真的很不喜欢分组,例如我有多个列:

// Now the $group operation
    DBObject groupFields = new BasicDBObject( "_id", "$?????");
    groupFields.put("average", new BasicDBObject( "$avg", "$intensity"));
    DBObject group = new BasicDBObject("$group", groupFields);

但是正如您所看到的,我也不知道如何以及如何获得平均情绪。有人可以帮忙吗?

阿南德·贾亚巴兰(Anand Jayabalan)

您无需为要实现的目标进行多次分组。您可以使用的$avg$sum聚合运算符aggregation framework

db.collection.aggregate(
   [
     {
       $group:
         {
           _id: null,
           avgSentiment: { $avg: "$sentiment" },
           avgIntensity: { $avg: "$intensity" },
           count: { $sum: 1 }
         }
     }
   ]
)

未经测试的Java等效项:

// $group in Java
DBObject groupFields = new BasicDBObject( "_id", null);
groupFields.put("avgSentiment", new BasicDBObject( "$avg", "$sentiment"));
groupFields.put("avgIntensity", new BasicDBObject( "$avg", "$intensity"));
groupFields.put("count", new BasicDBObject( "$sum", 1));
DBObject group = new BasicDBObject("$group", groupFields);

// Run aggregation
List<DBObject> pipeline = Arrays.asList(group);
AggregationOutput output = collection.aggregate(pipeline);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mongo 多次分组

来自分类Dev

在Mongo中按Key的值分组?

来自分类Dev

多次加入和分组

来自分类Dev

多次加入和分组

来自分类Dev

在Mongo DB中按月和日分组和查询

来自分类Dev

使用存储的json数据对mongo中的数据进行分组

来自分类Dev

在Mongo DB中按月和日分组和查询

来自分类Dev

在Spring Mongo Db中按文档数组分组

来自分类Dev

多次查找和结果分组

来自分类Dev

多次查找和结果分组

来自分类Dev

Mongo Aggregation分组子文档

来自分类Dev

Mongo:分组,推送和排序

来自分类Dev

Mongo汇总按$ sum分组?

来自分类Dev

Mongo聚合,按2个不同阵列中的同一字段分组

来自分类Dev

mongo按可以出现在多个字段中的值分组

来自分类Dev

根据mongo db中的字段分组将所有记录作为列表获取

来自分类Dev

在Mongo C#中,进行分组时,如何创建包含其全部内容的组的列表?

来自分类Dev

在使用$ unwind时以及在mongo中按功能分组后出现错误...?

来自分类Dev

对单个分组值进行多次计数

来自分类Dev

对单个分组值进行多次计数

来自分类Dev

多次分组,所有成员在同一组中至少见面一次

来自分类Dev

如何将mongo子文档分组

来自分类Dev

在 Mongo DB 中分组和计数

来自分类Dev

sed中的多次替换

来自分类Dev

在Vim中多次撤消?

来自分类Dev

视频中的多次跟踪

来自分类Dev

在JavaScript中多次捕获

来自分类Dev

管道中的多次查找

来自分类Dev

在Go中多次洗牌