如何将 mongorestore 2.6.11 转储到 3.2.5 系统?

How to mongorestore 2.6.11 dump to 3.2.5 system?

在执行从 2.6.11 转储(从另一个系统)到 3.2.5 系统的 mongorestore 后,我注意到一个异常。简而言之,new 系统(/var/lib/mongodb)上的集合文件名称不同,并遵循以下格式:

collection-55--6670716476518949126.wt
index-1--6670716476518949126.wt

而在旧系统上,集合位于 /home/mongodb 中并遵循以下命名约定:

collection_name.0
collection_name.1
collection_name.ns

奇怪的是,尽管旧系统上的 ~150MB 集合文件大小在新集合文件大小(~150kb)中没有表示,但一切似乎都是 "working"。

我正在关注以下答案:

How to migrate MongoDB 2.6 to 3.0 with WiredTiger

这基本上表明:

当我对 MongoDB 3.2.5 安装进行 mongorestore 时,我已经有了一个 YAML 格式的配置文件(见下文)。

所以看来我需要做的唯一步骤是 mongorestore - 我已经完成并导致了上述异常。

我的问题是:

01) 是否还有其他我应该执行的步骤?

02) 这些文件命名 'anomalies' 是预期的吗?

03) 为什么合集文件大小差异这么大?

我问是为了避免后面因为漏掉一个重要的步骤而出现问题。

/etc/mongod.conf

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

文件名正确,因为 mongoDb 现在使用 wired tiger 作为默认存储引擎。 关联的大小可能不同,因为 WT 在文件中存储文档时使用不同的方法

see more here