Ошибка mongoexport: Ошибка: не удалось проанализировать + снимок нераспознанного поля - PullRequest
0 голосов
/ 18 июня 2019

Цель: перенести мои локальные данные mongodb в атлас кластера mongobd.

Попробуйте:
1. экспортировать локальные данные как json.
2. импортировать json в кластер.

ОС: Linuxmint 19.1 Cinnamon
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

Я ожидал, что коллекция пользователей из базы данных диспетчера задач будет распечатана как файл 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'.

Что не так и что я должен сделать, чтобы это исправить?Есть ли лучший способ переноса данных?

1 Ответ

0 голосов
/ 19 июня 2019

, поэтому я удалил все mongodb и загрузил сервер, оболочку и утилиту deb с их сайта и убедился, что они все 4.0.10 для Ubuntu 18.04.Хотя та же версия, по-видимому, включена в synaptic, я решил на прямую установить deb, на всякий случай, как я ранее делал установку из командной строки, а также из Software Manager, который в итоге имел разные версии.С версией правильно, я наконец могу вывести файл JSON, как я хотел.Я бы также попробовал методы mongodump и mongorestore, как упомянул @sachav.

...