r - 如何将数据从 mongodb 流式传输到 R?

标签 r mongodb stream shiny

我们不断地将外部设备的数据保存到 mongodb 中。现在我想用 Shiny 分析/可视化传入的数据流。至于现在,我正在使用 mongolite 库中的 find 参数每秒将数据导入 R:

[...]
timestamp.start <- reactive({as.numeric(Sys.time()) - (3600 * input$history)})

sourceData <- reactive({
    invalidateLater(1000,session)
    nodes <- nodes.mongo$find(paste('{"timestamp" : {"$gt" :', timestamp.start(), '} }'))
    nodes
    })
[...]

但这显然不是一个好方法,因为答案越来越大。

所以问题是,有没有办法将数据库中的新传入数据流式传输到 R/Shiny?如果是这样,如何?

感谢您的帮助!

最佳答案

您为什么不运行数据库查询来获取集合中的最后一个条目,然后将它们绑定(bind)到您的数据框。通过这种方式,您可以在查询中保持低资源。您仍然可以每秒检查一次,而不会出现大数据问题。

关于r - 如何将数据从 mongodb 流式传输到 R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33684285/

相关文章:

r - 使用 knit/rmarkdown 突出显示 bash 代码

javascript - 在 Mongoose 模式中添加带有破折号字符的字段

android - ExoPlayer 不适用于某些流

sql-server - 最快的分层地理地址,最便宜的硬件上的数据查找? NoSQL 还是 SQL?

java - 将 OutputStream 与 InputStream 连接起来

ffmpeg - 如何在不消耗所有 CPU 的情况下从多台摄像机录制

r - 如何在数据框中创建秒表时间列(运行时钟)

r - 按组连接/粘贴列并添加到原始数据

r - 使用多个 if else 语句

mongodb - 在不同的物理服务器上使用 Docker 部署 mongodb 副本集服务器