通过 R 连接时无法在 mongo DB 中查看集合

Posted

技术标签:

【中文标题】通过 R 连接时无法在 mongo DB 中查看集合【英文标题】:Unable to see collections in mongo DB when connected through R 【发布时间】:2015-09-15 09:21:10 【问题描述】:

我使用“rmongodb”包通过 R 连接到 mongo DB。 连接成功。

> mongo.is.connected(mongo)
[1] TRUE
> 

如果我检查运行 mongoDB 的主机。

> use reporting
switched to db reporting

> show collections
MongoIndexing
details
test
>

但是从R

> mongo.get.database.collections(mongo , db="reporting")
character(0)
>

【问题讨论】:

试试这个mongo.get.database.collections(mongo , "reporting"); 接受的答案似乎受到这个开放问题的影响:github.com/dselivanov/rmongodb/issues/93 【参考方案1】:

如果提供的数据库中有集合,以下代码将返回集合名称数组。否则返回character(0)

试试这个:

mongo <- mongo.create(host="127.0.0.1:27017" , db="sample")
mongo.get.database.collections(mongo , "sample")

输出:两个名为角色和类别的集合

"sample.roles"          
"sample.categories" 

获取所有数据库:

mongo <- mongo.create(host="127.0.0.1:27017")
mongo.get.databases(mongo)

要获取特定数据库中的所有集合,请说示例:

mongo.get.database.collections(mongo, "sample")

您可以查看rmongod 链接了解更多信息。

【讨论】:

一旦连接到 mongodb,我如何在 R 中切换数据库。就像我们在 mongodb 中所做的那样“使用 您必须创建一个到您想要的数据库的新连接mongo &lt;- mongo.create(host=XXX, db =YYY,然后在您进行查询或其他操作时使用此对象

以上是关于通过 R 连接时无法在 mongo DB 中查看集合的主要内容,如果未能解决你的问题,请参考以下文章

Mongo dB 副本集冗余测试

MongoDB由于目标计算机积极拒绝,无法连接

无法使用带有 X509 用户的 mongoose 连接到 Mongo DB

我可以使用副本集名称通过 mongo-connector 进行连接吗

Nodejs,通过回调关闭mongo db连接

无法从节点连接到 docker 中的 mongo 副本集