web-dev-qa-db-ja.com

MongoExportエラー:失敗しました:+未認識フィールドのスナップショットの解析に失敗しました

目標:ローカルMongoDBデータをMongobd Atlas Clusterに移行する。

試す:
1。ローカルデータをJSONとしてエクスポートします。
2。 JSONをクラスタにインポートします。

OS:LinuxMint 19.1シナモン
[。] Mongo - Version Mongodbシェルバージョンv4.0.10
[。] mongod --version dbバージョン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
 _

Task-Managerデータベースからのユーザーコレクションが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'.
 _

何が問題なのか、それを修正するために何をすべきか?データを移行するためのより良い方法はありますか?

7
Annie

だから私はMongoDBすべてをアンインストールし、彼らのウェブサイトからサーバー、シェル、そしてツールのDEBをダウンロードし、Ubuntu 18.04のための4.0.10すべてであることを確認しました。同じバージョンがシナプスに含まれているようですが、私は以前にコマンドラインのインストールを行ったように、そしてソフトウェアマネージャからも、異なるバージョンを持つソフトウェアマネージャからもDEBを直接インストールすることにしました。バージョンが正しく、私はついに私が望んでいるようにJSONファイルを出力することができます。 @Sachavが言及されているように、MongoDumpとMongorestoreメソッドも試すでしょう。

0
Annie