Shiny R中的Mongodb Query使用反应式输入从数据库中获取数据

时间:2018-10-05 21:14:03

标签: r mongodb shiny

library(shiny)
library(mongolite)

ui <- fluidPage( 
    titlePanel("Mongodb Data"),
    sidebarLayout(
        sidebarPanel(
             textInput("_id", "Document type:", "")
        ),
        mainPanel(
            dataTableOutput("mydata")
        )
    )
)

server <- function(input, output) {
    mon <- mongo(collection = "collectionname", db = "db name", url = "mongodb://localhost:27017")
    output$mydata <- renderDataTable({
        doc_type <- paste0(doc_type= input$doc_id)

        mon$find(  query = '{"doc_type" : {"$in" : ["x", "y"]} }' , limit = 100) 
    })
}
}
  

警告:错误,如果没有活动的响应上下文,则不允许进行操作。 (您尝试做只能从反应式表达式或观察器内部完成的操作。)

如何添加反应式查询并从MongoDB集合的特定列中检索数据?每当我给文本输入值x或y时,它都应显示MongoDB数据库中的相关文档。

1 个答案:

答案 0 :(得分:0)

您需要一个根据用户输入而变化的查询。尝试将服务器代码更改为此。我正在考虑您的问题中有错别字,而您的实际输入是此InStr(.Document.Body.innerHTML, "<span id=" & Chr(34) & "middleContent_lbName_county")

服务器:

textInput("doc_id", "Document type:", "")