1

Mongo 服务器:Windows 10(主机)客户端:CentOS 6.2,windows 10 主机上的虚拟盒子 vm。这实际上是一个cloudera快速启动vm。问题:mongodb 通过终端连接到远程服务器(从 CentOS 到 Windows),很好地列出了数据库,但“显示集合”只是返回空白。也就是说,这些集合是可访问的,因为我可以查询任何集合,并且计数也给了我正确的结果。另一方面,我已经从 IntelliJ 连接到同一个 mongo 服务器,它可以很好地显示所有集合。

只是好奇为什么会这样……有什么意见吗?

旁注:是否有一个 mongodb 命令来计算数据库中的集合数?

谢谢

_Vamsi

4

1 回答 1

0

确保您使用的是要为其显示集合的数据库。您可能正在使用没有任何集合的数据库。

> use desiredDatabase
> show collections

如果列表仍然为空,请尝试使用管理员用户帐户登录。用户需要能够执行该listCollections操作。dbAdmin角色包括listCollections动作。

要获取计数,您可以使用getCollectionNames返回数组的函数,您可以从中获取长度。

> db.getCollectionNames().length
于 2016-12-08T19:24:43.380 回答