Как перенести RethinkDb в MongoDb? - PullRequest
0 голосов
/ 14 декабря 2018

Мое приложение использует RethinkDb.Все работает нормально, но для переноса БД в MongoDb требуется новый, необходимый.

Возможно ли это?Как перенести таблицы / коллекции, данные, индексы и т. Д.?Как насчет типов BLOB-объектов, автоинкремент.идентификаторы?

Спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Возможно ли это?Как перенести таблицы / коллекции, данные, индексы и т. Д.?

Одним из способов переноса данных из 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.

...