R连接MongoDb

来源:互联网 发布:linux基础试题 编辑:程序博客网 时间:2024/04/29 19:10

1、RMongo

1)连接方式&查询语句

library(RMongo)###database name,host,portmongo <-  mongoDbConnect(dbName = "mydbname",#库名                 host = ""127.0.0.1"",#主机名                 port = "27017"#默认端口号                 )authenticated <-  dbAuthenticate(mongo, #RMongo对象                 username = "username ",#用户名                 password = "******"#密码                 )sql2 <-  paste0("{'user_id':'",         i,         "'",         ",",         "'start_time':{'$gt':'",         Sys.time() - 180 * 24 * 3600,         "'}}")#查询用户i近六个月的通话记录sql3 <- paste0("{'another_nm':1}")#返回电话号码,以及主键idphone_data <- RMongo::dbGetQueryForKeys(#该结果返回数据框data.frame格式  rmongo.object = mongo,  #Rmongo的对象  collection = "shanyin_transportation_contact_detail",#为表名  query = sql2,  keys = sql3,  skip = 0,  limit = 50000)

2)结果

这里写图片描述

2、mongolite

1)连接方式&查询语句

之前用RMongo没有找到sort功能,不知道是没有,还是我没有找到~后来查找到这个包,发现查询还是比较方便的。写URL又发现密码里面有@,心塞。各种坑啊~

library(mongolite)username <- "myusername "#用户名password <- "mypwd"#密码host <- "myhost"#主机名port <- "27017"#端口号database <- "mydb"#数据库URL <- paste0("mongodb://",username,":",password,"@",host,":",port,"/",database)con <-  mongo(collection="shanyin_transportation_contact_detail",#表名        db = "mydb",#库名        url = URL)con$find(  query = '{"user_id":"b73e6c4728ac482ab53add301558274b"}',#查询语句  sort = '{"month":1,"start_time":1}',#排序  fields = '{"month":true,"start_time":true}',#类似sql里的select语句,筛选字段  limit = 10)

2)结果

这里写图片描述

3.REF

URL格式
查询数据

原创粉丝点击