Импорт коллекций резервных копий с помощью mGo

У меня есть экспорт BSON из mongodump, а также экспорт JSON для mongoexport

Какой самый простой способ импортировать с помощью mgo? Поддерживает ли mgo вставку резервной копии коллекции BSON?

Или мне нужно использовать экспорт JSON, разархивировать его, а затем выполнить insert() с mgo?

Дело в том, что я не хочу указывать схему в моем файле Go — я просто хочу сбросить файл в базу данных.


person K2xL    schedule 06.04.2014    source источник


Ответы (1)


Какой самый простой способ импортировать с помощью mgo?

Самый легкий? Раскошельтесь на mongorestore из программы go. Бум, готово.

Поддерживает ли mgo вставку резервной копии коллекции BSON?

Я не вижу никакой первоклассной поддержки для этого. (Вы можете отправить письмо автору). Это должно быть возможно, но может потребовать некоторой работы. Вы должны иметь возможность использовать слой mgo BSON для загрузки файлов *.bson и вставки их в БД. Но вам также придется разобрать файлы *.metadata.json для индексов и т. д. Кажется, это много работы. (в основном переписывая mongorestore.)

Или мне нужно использовать экспорт JSON, разархивировать его, а затем выполнить вставку () с mgo?

Это было бы медленнее, и вам нужно было бы проверить правильность обработки $date и $oid, но похоже, что это должно работать. Это может быть даже проще написать, потому что вам не нужно изучать слой BSON.

person Community    schedule 06.04.2014
comment
Так что я на самом деле раскошеливаюсь прямо сейчас, но я не самый большой поклонник этого решения, поскольку оно зависит от того, что исполняемый файл существует на том же компьютере, что и программа go (если только я не ssh к ящику с установленным, что я бы предпочел не делать). Спасибо за подробный ответ! - person K2xL; 07.04.2014
comment
Еще одна вещь: вы также можете остановить монго и заархивировать необработанные файлы БД. Затем вы можете разархивировать их в чистом виде, не раскошеливаясь. (Вам все равно придется остановить монго и перезапустить его, но вы, возможно, уже делаете это в ходу.) - person BraveNewCurrency; 07.04.2014
comment
Я пытаюсь использовать третий подход, но, чувак, я не могу понять, как разобрать неструктурированный json. Я просто хочу вставить JSON с помощью mgo :-( - person K2xL; 07.04.2014
comment
Это может помочь: stackoverflow.com/questions/21187057/ - person BraveNewCurrency; 07.04.2014
comment
Спасибо. Вздох. По-прежнему не загружаются никакие записи. pastebin.com/LbdUmJ3v Есть мысли? - person K2xL; 07.04.2014
comment
(ну, работает, но я не уверен, что делаю это правильно) - person BraveNewCurrency; 07.04.2014
comment
@ K2xL, ты, наконец, преуспел в этом подходе ... не хочешь поделиться тем, что у тебя получилось? - person Edwin O.; 20.12.2017
comment
Я на самом деле не помню Эдвина, извините :( если мне вспомнится, что я в итоге сделал, я опубликую - person K2xL; 21.12.2017