没有findMongo DB集合

我正在使用MongoDB作为我的数据存储,版本v3.4.1。 我正在使用mongo的docker镜像,像这样运行它:

docker run -d -p 27017:27017 -v /home/rancher/data:/data/db --name mongodb mongo:latest 

之后,我创build了许多数据库和集合。 一个多月就好了。 但现在我无法在数据库中find任何集合。 列出集合的这个命令显示一个空的列表: show dbs 。 另外,如果我use mydb然后show collections没有显示。

这些是/ home / rancher / data文件夹中的数据:

收集-O–4220404477553112134 .wt
收集,0-1041804628168690390.wŧ
收集,2–4220404477553112134.wt
收集,2-1041804628168690390.wt
diagnostic.data
指数1–4220404477553112134.wt
指数1-1041804628168690390.wt
指数3–4220404477553112134.wt
指数3-1041804628168690390.wt
指数4-1041804628168690390.wt
日志
_mdb_catalog.wt
mongod.lock
sizeStorer.wt
storage.bson
WiredTiger
WiredTiger.lock
WiredTiger.turtle
WiredTiger.wt
WiredTigerLAS.wt

任何人都可以告诉我为什么这个集合在mongo数据库中不是持久的吗?

我也面临同样的问题。 这是我find的解决scheme。 请检查您的mongodb端口是否可以上网。 如果是的话,将其限制在服务器上。

您可能遇到了mongo:latest标签以及mongodb如何更改用于数据文件的默认驱动程序的问题。

使用任何图像的:latest标签是一个糟糕的主意,因为图像之间的事物会发生变化,这样的问题就会发生。

切换到以前的版本,如3.2,看看它是否find你的数据

docker run -d -p 27017:27017 -v /home/rancher/data:/data/db --name mongodb mongo:3.2.12