4

在命令行中访问数据库时,“show dbs”列出了所有现有数据库,将我要访问的数据库显示为 empty

编辑: Neverless 使用数据库并运行 db.stats() 它显示正确的数据大小。

show dbs 的输出:

db1(空)

db2(空)

db3 0.999755859375GB

db_5(空)

但我可以访问、查询、计数和显示存储在 db_5 中的数据。

有人能解释一下为什么这显示为空吗?我可以在不丢失数据的情况下正确导出它吗?

编辑:导出后,然后停止并重新启动 mongodb:数据库现在显示为完全为空,然后我无法选择计数或显示数据。

4

2 回答 2

4

就我而言,我在没有凭据的情况下访问 mongo。所以将我的命令更改为

mongo --username mongouser --password mongopass
于 2021-03-28T17:59:26.483 回答
4

看来您必须更新 MongoDB Shell。

有一个已知问题 ( SERVER-15987 ),当使用旧版本的 shell 时 listCollections 返回空。

执行mongo命令时,可以在第一行看到 shell 版本。

MongoDB shell version: 3.0.4

如果你有任何小于 的东西3.0,你应该更新你的 shell。
在 Debian 中,这可以使用重新安装apt-get install mongodb-org-shell

资源

于 2015-08-06T11:02:39.063 回答