Эффективно сохранить строку json в mongodb в perl (без преобразования в хэш-ссылку)

Я хотел бы вставить данные в mongodb в perl. Я могу вставлять объекты perl, такие как hash-ref. Но я хочу добавить к ним еще и подготовленные JSONs.

У меня есть эти JSONs в текстовых файлах, и я могу преобразовать их в хэш-ссылку, а затем поместить в базу данных, но я ищу более эффективный способ из-за количества данных, которые мне нужно обработать.

Это возможно? Я могу делать вставки, но я ищу оптимизацию.


Аналогичная тема (но без ответа на этот вопрос):

Вставить в mongodb с помощью perl


Технические аспекты:

За одну вставку обрабатывается один файл 100kB - 1MB I содержит 4 JSON строки среди остального текста, любая строка около 2 - 15 k символов. Я получаю некоторые свойства из файла и остального текста и храню их в хэш-ссылке. Мне не нужна никакая информация из этого JSON в остальной части моей программы. Меня интересует только их объединение в базу данных.


person Daniel    schedule 16.08.2017    source источник


Ответы (1)


Нет прямого способа вставить JSON в MongoDB. Его всегда нужно обрабатывать в проводном формате MongoDB. Для Perl это означает декодирование JSON, а затем вставку с помощью драйвера, который, как вы указываете, имеет накладные расходы.

Если у вас есть только данные JSON, лучше всего использовать mongoimport инструмент, который поставляется с базой данных.

person xdg    schedule 18.08.2017
comment
Большое спасибо. Наконец я распараллелил этот процесс, и чтение файлов с диска теперь является узким местом обработки. - person Daniel; 19.08.2017