首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加了字段的Mongolite聚合查询

添加了字段的Mongolite聚合查询
EN

Stack Overflow用户
提问于 2019-01-23 18:02:38
回答 1查看 205关注 0票数 0

问题

我有一个包含100万行评论(文档)的集合hotelreviews_collection,其中包含各种元数据。我希望通过Hotel_Name字段进行分组,计算该酒店出现的次数,同时还可以在我的查询中获得字段"lat“、"lng”和"Average_Score“。对于每个Hotel_Name,额外的三行是相同的。

我使用连接到本地MongoDB的mongolite库在R中执行查询。

我的尝试

我已经开始使用下面的代码检索Hotel_Names并计算它们的外观,但我终究无法让其他字段工作。

当前代码

代码语言:javascript
复制
overviewData <- M_CONNECTION$aggregate('[{"$group":{"_id":"$Hotel_Name", "count": {"$sum":1}, "average":{"$avg":"$distance"}}}]',
  options = '{"allowDiskUse":true}')

我完全迷失在这一点上,任何和所有的帮助将非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2019-01-23 20:51:53

我已经用下面的代码解决了我的问题。

代码语言:javascript
复制
db.getCollection("hotelreviews_collection").aggregate(
    [
        { 
            "$group" : {
                "_id" : {
                    "Hotel_Name" : "$Hotel_Name", 
                    "lat" : "$lat", 
                    "lng" : "$lng", 
                    "Average_Score" : "$Average_Score"
                }, 
                "COUNT(Hotel_Name)" : {
                    "$sum" : NumberInt(1)
                }
            }
        }, 
        { 
            "$project" : {
                "Hotel_Name" : "$_id.Hotel_Name", 
                "lat" : "$_id.lat", 
                "lng" : "$_id.lng", 
                "Average_Score" : "$_id.Average_Score", 
                "COUNT(Hotel_Name)" : "$COUNT(Hotel_Name)", 
                "_id" : NumberInt(0)
            }
        }
    ]
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54324589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档