我现在正在学习 mongolite/mongoDB,遇到了这个:
https://cran.r-project.org/web/packages/mongolite/vignettes/intro.html
在里面我看到了这样的代码:
tbl <- m$mapreduce(
map = "function(){emit({cut:this.cut, color:this.color}, 1)}",
reduce = "function(id, counts){return Array.sum(counts)}"
)
谁能告诉我这些函数是用什么写的?我不认为它们是 R 函数。
最佳答案
R 语言允许您创建环境,您可以在其中放置函数,然后使用 $-operator 引用这些函数,就像从列表中提取项目一样。所以 m$mapreduce
正在调用一个 R 函数并将该文本发送到数据库引擎:http://docs.mongodb.org/manual/reference/command/mapReduce/
如果您安装该包并执行 help(pac=mongolite)
,您将看到该包有一个公开的函数 mongo
,它允许任何这些函数调用。然后,您可以完成帮助页面和插图中的示例。
(注意:如果您不先安装和设置数据库可执行文件,您将收到错误消息。)
如果在加载了 mongolite 的情况下执行此操作,您将获得在创建 mongo 函数时定义的环境中的对象列表:
ls(envir=environment(mongo))
该环境中有一组对象似乎包含您可能感兴趣的内容:
[14] "mongo_collection_aggregate"
[15] "mongo_collection_command"
[16] "mongo_collection_command_simple"
[17] "mongo_collection_count"
[18] "mongo_collection_create_index"
[19] "mongo_collection_distinct"
[20] "mongo_collection_drop"
[21] "mongo_collection_drop_index"
[22] "mongo_collection_find"
[23] "mongo_collection_find_indexes"
[24] "mongo_collection_insert_bson"
[25] "mongo_collection_insert_page"
[26] "mongo_collection_mapreduce"
[27] "mongo_collection_name"
[28] "mongo_collection_new"
[29] "mongo_collection_remove"
[30] "mongo_collection_rename"
[31] "mongo_collection_stats"
[32] "mongo_collection_update"
关于r - 在 mongoDB/mongolite 中用来编写函数的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31549371/