【发布时间】:2019-11-01 13:25:25
【问题描述】:
目标:将我本地的 mongodb 数据迁移到 mongobd atlas 集群。
尝试:
1.将本地数据导出为json。
2. 将json导入集群。
操作系统:Linuxmint 19.1 肉桂
蒙戈--版本
MongoDB shell 版本 v4.0.10
mongod--版本
数据库版本 v3.6.3
我还有一个单独的数据库文件夹。
所以我首先开始
/home/me/mongodb/bin/mongod --dbpath=/home/me/mongodb-data
然后我打开一个终端并输入
~/mongodb/bin $ mongoexport --db task-manager --collection users --out ~/Desktop/test.json
我预计来自任务管理器数据库的用户集合将打印为 test.json 文件,但我收到错误:
2019-06-18T22:05:06.108+0200 connected to: localhost
2019-06-18T22:05:06.108+0200 Failed: Failed to parse: { find: "users", filter: {}, sort: {}, skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "task-manager" }. Unrecognized field 'snapshot'.
出了什么问题,我应该怎么做才能解决它?有没有更好的数据迁移方式?
【问题讨论】:
-
您的 mongo-tools(包含 mongoexport)版本与您的 mongo 服务器版本不兼容,您应该使用最新版本。要迁移数据,请考虑使用 mongodump/mongorestore,这通常比 json 导出更快。
-
是的,我确实意识到了这一点。虽然我不知道为什么我的数据库显示较低版本...我记得当我安装它时它是 4 或 sth...我正在尝试更新但遇到了一些 repo 问题。稍后再试。
标签: mongodb database-migration data-migration mongoexport