簡體   English   中英

如何在R中列出mongodb集合

[英]How to list mongodb collections in R

我一直在嘗試在R中的mongo數據庫中列出集合。我意識到,此功能仍在mongolite軟件包( https://github.com/jeroen/mongolite/issues/86 )的待辦事項列表中。 似乎有一個軟件包rmongodb可以達到rmongodb無法使用mongolite查看mongodb遠程服務器上的所有集合 )。 但是,它不再是CRAN的一部分。

任何人都可以建議一種列出數據庫中所有集合的方法嗎?

mongodb是遠程的,因此我猜不能將mongoshell與system()結合使用。 至少不是一個簡單的方法。

謝謝

我想出的解決方案如下:

ListMongoCollections <- function(db, mongoConString) {

  result <- system(glue::glue(
    "
    mongo --host <<mongoConString>> --eval \"
      db.getMongo().getDBNames().forEach(
        function(v, i) {if (v.valueOf() === '<<db>>') {
          print(db.getSiblingDB(v).getCollectionNames().join('%%%'))
        }}
      )
    \"
    ",
    .open = "<<",
    .close = ">>"
    ),
    intern = T
  )

  collections <- result %>% stringr::str_detect("%%%")

  result <- result[collections] %>% 
    stringr::str_split(pattern = "%%%", simplify = T) %>% 
    as.character()

  result

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM