首页 > 解决方案 > Mongodb 向 r 传输数据非常慢

问题描述

我使用 R 和包mongolite从本地 Mongodb 查询一些数据。我在每个文档中都有 5000 个包含电影和各种属性的条目(年份、演员、流派、获奖等)。当我查询所有比 2012 年新的电影(5000 部中有 4013 部)时,MongoDBCompass 需要 3 毫秒。当我在 R 中尝试时,我得到以下结果:

# Count takes less then 0.01 Seconds
system.time(dmd$count('{"year" : {"$gt" : 2012}}'))

# Find takes 1.5 Seconds
system.time(a<-dmd$find('{"year" : {"$gt" : 2012}}'))

#This takes 1.4 Seconds
system.time(dmd$find('{"year" : {"$gt" : 2012}}'))

为什么在 R 中获取数据需要这么长时间?当 count 花费更少的时间时,R 似乎是这里的瓶颈,对吧?难道我做错了什么?当我使用更多数据时,查询时间(仅在 R 中)会显着延长。

标签: rdatabasemongodbmongolite

解决方案


推荐阅读