Импорт большого набора данных в MongoDB через MongoID - PullRequest
2 голосов
/ 25 апреля 2011

Чтобы импортировать большой набор данных JSON в MongoDB, у нас есть утилита mongoimport, которая работает следующим образом:

mongoimport --host xxx.xxx.xxx.xxx --db destination-db -c tags < tmp/source-file.json

Есть ли способ вызвать 'mongoimport' с помощью MongoID, ruby ​​Object-Document-Mapper для MongoDB?

Спасибо, Лука

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Mongoid по сути является оболочкой для драйвера Ruby.Драйвер Ruby должен позволять вам выполнять любую из команд базы данных.

Однако mongoimport не является командой.mongoimport - это отдельный двоичный (или исполняемый) файл.

Единственный способ запустить mongoimport из Ruby - это "выложить".Как правило, это предполагает использование какой-либо формы команды exec.Вот первая поисковая ссылка для запуска команд оболочки из Ruby .

1 голос
/ 14 июня 2011

Вы также можете проанализировать JSON из вашего файла и просто запустить Model.create(json_obj) и Mode.save непосредственно в задаче rake.

...