我们不断地将外部设备的数据保存到 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/