之前写过如何用R访问mongodb的数据库,现在来写下如何筛选条件(限制条件)来进行数据的调用。实际语句调用与mongo查询方式类似。
如何连接mongodb的数据库 具体参照I
test<-mongolite::mongo(collection = "collection", url = "mongodb://username:[email protected]:27017/database",verbose = FALSE, options = ssl_options())
1、##如果只想要部分列数据,(部分对应字段数据)可以使用这个语句
data_mongo=test$find(fields = ‘{"columnname1":true,"columnname2":true,"columnname2":true}‘)
columnname1代表你所想要的字段名
2、##如果想筛选某字段指定值对应的数据可以如下做
data_mongo2=test$find(‘{"name":"lisi","sex":"male"}‘)
3、##如果想限定日期,前提是mongo里的日期是日期格式而不是字符串格式,可以按照以下方式操作
maxtime<-as.POSIXct(paste0(Sys.Date()," 00:00:00")) ##使用今天的00点,转化为posixct格式(时间可以进行修改),也可以使用Sys.time()当前时间
maxtimes<- as.integer(maxtime) * 1000 ##转化成日期的数值类型
data_mongo <- test$find(paste0(‘{"date1":{"$gte": { "$date" : { "$numberLong" : "‘, d, ‘" } } } }‘))
更多可以参照以下网站