Возможно ли это?Как перенести таблицы / коллекции, данные, индексы и т. Д.?
Одним из способов переноса данных из RethinkDB в MongoDB является экспорт данных из RethinkDB с использованием команды rethinkdb dump , а затем использование mongoimport для импорта в MongoDB.Для пример :
rethinkdb dump -e dbname.tableName
Это приведет к созданию файла архива:
rethinkdb_dump_<datetime>.tar.gz
После распаковки файла архива вы можете использовать mongoimport
, как показано ниже:
mongoimport --jsonArray --db dbName --collection tableName ./rethinkdb_dump_<datetime>/dbName/tableName.json
К сожалению, для индексов формат между RethinkDB и MongoDB совершенно другой.Индексы хранятся в том же архивном файле:
./rethinkdb_dump_<datetime>/dbName/tableName.info
Хотя вы все равно можете написать скрипт Python для чтения файла info
и использовать драйвер Python MongoDB (PyMongo) длясоздать индексы в MongoDB.См. Также create_indexes () метод для получения дополнительной информации.
Одна из причин, по которой предлагается использовать Python, заключается в том, что RethinkDB также имеет клиентский драйвер Python .Технически, вы также можете пропустить этап экспорта и написать скрипт для подключения вашей RethinkDB к MongoDB.