使用rmongodb包聚合

时间:2015-06-01 14:17:49

标签: r mongodb

我是R和MongoDB的新手,我正在尝试在以下数据集上实现聚合:

{
  "_id" : ObjectId("5569fdb796f77d81b8aacf45"),
  "PLAYER NAME" : "DA Warner",
  "TEAM" : "SRH",
  "RUNS" : 562.0,
  "MATCH" : "14",
  "HS" : "91",
  "AVE" : 43.23,
  "SR" : 156.54,
  "100'S" : "0",
  "50'S" : 7.0
}

/* 2 */
{
  "_id" : ObjectId("5569fdb796f77d81b8aacf46"),
  "PLAYER NAME" : "Ajinkya Rahane",
  "TEAM" : "RR",
  "RUNS" : 540.0,
  "MATCH" : "14",
  "HS" : "91*",
  "AVE" : 49.8,
  "SR" : 133.15,
  "100'S" : "0",
  "50'S" : 4.0
}

使用这段代码:

pipe <- mongo.bson.from.JSON('{"group":{"_id":"$TEAM", "total_runs":{"$sum":"$RUNS"}}}')
cmd_list <- list(pipe)
result <- mongo.aggregation(mongo, "test.IPL_Most_Runs" , cmd_list)

但是我收到一条错误,说BSON无效。 任何人都可以帮我解决这个问题的R代码。??

1 个答案:

答案 0 :(得分:1)

考虑使用RMongo package来查询MongoDB数据库。例如,您可以使用dbAggregate()方法执行MongoDB聚合查询,如下所示:

mongo <- mongoDbConnect("test")
output <- dbAggregate(mongo, "IPL_Most_Runs", c(' { "$group" : { "_id" : "$baz", "total_runs":{ "$sum":"$RUNS"} } } ')
print(output)