gpt4 book ai didi

r - mongolite - 聚合方法的正确语法

转载 作者:行者123 更新时间:2023-12-02 09:29:57 29 4
gpt4 key购买 nike

数据

这里我使用 mongolite 将虚拟数据插入测试 mongodb 数据库:

library(mongolite)

## create dummy data
df <- data.frame(id = c(1,2,3,4),
region = c("r1", "r1", "r2", "r2"))

> df
id region
1 1 r1
2 2 r1
3 3 r2
4 4 r2

## insert into database
mong <- mongo(collection = "test", db = "test", url = "mongodb://localhost")
mong$insert(df)

问题

如何使用aggregate方法查找每个区域的记录数?

Mongo Shell 查询

此查询在 mongo shell 中运行时返回正确答案

db.test.aggregate({ $group : { _id : "$region", number_records : { $sum : 1}}})

我现在如何将其转换为 mongolite 的正确语法?


尝试

我以为

mong$aggregate('{ $group : { _id : "$region", number_records : { $sum : 1}}}')

会这样做,但我收到错误:无效的 JSON 对象错误。

我感觉我忽略了一些非常简单的事情!

最佳答案

仔细观察the documentation (page 4) ,它表明我实际上需要在每个键/值周围加上引号,并在整个查询周围加上方括号:

> mong$aggregate('[{ "$group" : 
{ "_id" : "$region",
"number_records" : { "$sum" : 1}
}
}]')
Imported 2 records. Simplifying into dataframe...
_id number_records
1 r2 2
2 r1 2

关于r - mongolite - 聚合方法的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271799/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com