R 版本:3.4.2,Ubuntu 16.04 LTS(4.10.0-37-generic),Mongo DB 版本 3.4.10,Mongolite v1.2。
基于Mongolite 手册,我正在尝试根据我在 R 中的数据添加一个索引。我希望这个索引根据数据中变量的值来获取值。
我已经创建了我的 Mongo DB,并在 R 中使用:
margo<-mongo(collection="test",db="test1",url="mongodb://localhost", verbose=TRUE)
我能够使用变量名方法按照 stackoverflow 上的其他答案运行查找查询(更新 mongolite 中的条目)
margo$find(query=paste0('{"FileName": "',test1$FileName,'"}'))
但是,我无法弄清楚如何添加基于变量的索引。例如,如果我的变量是val=1
并且我正在尝试创建一个名为“trya”的索引,那么当我尝试
margo$index(add=paste0('{"trya":"', val,'"}'))
我收到一条错误消息:
错误:未知索引插件'1'显然,如果我这样做
margo$index(add=('{"trya": 1}'))
这很好用。mongo 用法的新手,所以如果我遗漏了一些关于变量格式的明显内容,我深表歉意。
更新:我能够使用
margo$index(toJSON(list("trya" = val),auto_unbox=TRUE))
添加数字索引(根据github mongolite report on importing complex indices)。如果 val 是字符串变量,则这不起作用(相同的错误消息)。