r - 在 mongoDB/mongolite 中用来编写函数的是什么?

标签 r mongodb

我现在正在学习 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/

相关文章:

r - 没有足够的水平空间来显示频率

r - mutate() 试图在使用美元符号运算符时使用全局变量的值进行提取

R Lattice Plot 具有特定颜色的多条线

node.js - 使用 mongoose 设置数据库和集合

mongodb - 如何向 bson.D 对象添加值

滚动应用: Is it possible to add end date for each sliding window?

R - 子集是否保证在重复调用中返回相同顺序的值?

Mongodb - 通过 ODBC 连接

javascript - 运行 --eval mongodb 命令时出错

mongodb - 使用 mgo 驱动程序,Mongodb 连接计数每 10 秒增加一个