找不到Mongo DB集合

时间:2017-04-03 10:34:00

标签: mongodb docker

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

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

之后我创建了许多数据库和集合。一个多月没事了;但现在我无法在数据库中找到任何集合。列出集合的此命令显示一个空列表: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 DB中不持久?

2 个答案:

答案 0 :(得分:1)

我也面临同样的问题。这是我找到的解决方案。请检查您的mongodb端口是否对网络开放。如果是这样限制它到服务器。

答案 1 :(得分:0)

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

使用任何图像的:latest标记是个坏主意,因为图像之间的事情会发生变化,这样的问题就会发生。

切换到之前的版本,如3.2,看看它是否找到了数据

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