在命令行中访问数据库时, 'show dbs'列出所有现有数据库,显示我想要访问的为空。
编辑:永远不要使用数据库并运行db.stats(),它会显示正确的数据大小。
show dbs的输出:
db1(空)
db2(空)
db3 0.999755859375GB
db_5(空)
但我可以访问,查询,计算和显示存储在db_5中的数据。
有人可以解释为什么这显示为空吗? 我可以正确导出它而不会丢失数据吗?
修改: 导出然后停止并重新启动mongodb:数据库现在显示为完全空,然后我无法选择计数或显示数据。
答案 0 :(得分:4)
您似乎必须更新MongoDB Shell。
有一个已知问题(SERVER-15987),其中listCollections 当使用旧版本的shell时返回空。
执行mongo
命令时,您可以在第一行看到shell版本。
MongoDB shell version: 3.0.4
如果您的任何内容少于3.0
,则应更新您的shell
在Debian中,可以使用apt-get install mongodb-org-shell
答案 1 :(得分:1)
就我而言,我在没有凭据的情况下访问 mongo。 所以把我的命令改成
mongo --username mongouser --password mongopass