问题
我有一个包含100万行评论(文档)的集合hotelreviews_collection,其中包含各种元数据。我希望通过Hotel_Name字段进行分组,计算该酒店出现的次数,同时还可以在我的查询中获得字段"lat“、"lng”和"Average_Score“。对于每个Hotel_Name,额外的三行是相同的。
我使用连接到本地MongoDB的mongolite库在R中执行查询。
我的尝试
我已经开始使用下面的代码检索Hotel_Names并计算它们的外观,但我终究无法让其他字段工作。
当前代码
overviewData <- M_CONNECTION$aggregate('[{"$group":{"_id":"$Hotel_Name", "count": {"$sum":1}, "average":{"$avg":"$distance"}}}]',
options = '{"allowDiskUse":true}')我完全迷失在这一点上,任何和所有的帮助将非常感谢。
发布于 2019-01-23 20:51:53
我已经用下面的代码解决了我的问题。
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)
}
}
]
)https://stackoverflow.com/questions/54324589
复制相似问题