Платформа 3V/Соединение с источником/Импорт через Mongo

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Импорт справочников из БД Mongo

Для работы с монго желательно, помимо собственно платформы, установить какую-либо утилиту для подключения к серверам монго и просмотра их содержимого. Рекомендую пользоваться бесплатной MongoDB Compass (https://www.mongodb.com/try/download/compass).

Настройка соединения с монго

Создаем объект "Соединение с БД" в платформе. В json-редакторе созданного соединения прописываем строку соединения с монго.

Пример:

 {
   "dbType": "MongoDb",
   "connectionString": "mongodb://mongoadmin:mongoadmin@192.168.228.25:27017/?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false"
 }

Если в Compass подключение уже было настроено, то эту строку можно скопировать из настроек.
Пример настройки подключения в Compass:
Строка соединения в MongoDB Compass

Метод Import

Импортирует коллекцию из БД монго в справочник.
Параметры:
connectionId - идентификатор ранее настроенного соединения с монго.
dbName - имя базы данных монго (это имя можно посмотреть, например, в Compass, подключившись к нужному серверу, см. рисунок ниже).

Строка соединения в MongoDB Compass

collectionName - имя импортируемой коллекции (список коллекций в конкретной БД смотрим в Compass).

Имена коллекций в монго

parentId - идентификатор родительской папки в которой будет создан импортируемый справочник.

Созданный справочник будет иметь такое же имя, как коллекция монго из которой он был импортирован. Помимо обязательных атрибутов, этот справочник будет содержать атрибут с идентификаторами документов и атрибут с полным содержимым документов в формате JSON (см. скриншот ниже).

Метод Import (атрибуты по умолчанию)

Метод ImportWithAttributes

Импортирует коллекцию из БД монго в справочник, выбирая из документов указанные поля и записывая их в соответствующие атрибуты справочника.

Метод ImportWithAttributesBackground

Делает тоже самое, что и метод ImportWithAttributes, но импорт делается в фоновом режиме. Этот метод надо использовать для импорта больших коллекций (если их не удалось импортировать с помощью ImportWithAttributes, т.к. он упал по таймауту).

Метод GetBackgroundImportStatus

Контроль статуса ранее запущеных фоновых задач импорта.

== Метод