[英]Transfer large MongoDB collections to data.frame in R with rmongodb and plyr
[英]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.