Экспорт данных MATLAB в MongoDB

В этом примере показано, как экспортировать данные таблицы и структуры из MATLAB® рабочая область в новую MongoDB® наборов с использованием интерфейса Database Toolbox™ для MongoDB. Затем в примере показано, как подсчитать количество документов в наборах, удалить документы из наборов и удалить наборы.

Чтобы запустить этот пример, необходимо сначала установить интерфейс Database Toolbox для MongoDB. Для получения дополнительной информации смотрите Интерфейс Database Toolbox для установки MongoDB.

В примере используются два набора данных: patients.xls, который содержит данные о пациентах, и tsunamis.xlsx, который содержит данные о цунами. Файлы для этих наборов данных можно найти в toolbox/matlab/demos папка.

Подключение к MongoDB

Создайте соединение MongoDB с базой данных mongotest. Здесь сервер базы данных dbtb01 размещает эту базу данных с использованием номера порта 27017.

server = "dbtb01";
port = 27017;
dbname = "mongotest";
conn = mongo(server,port,dbname)
conn = 

  mongo with properties:

               Database: 'mongotest'
               UserName: ''
                 Server: {'dbtb01'}
                   Port: 27017
        CollectionNames: {'airlinesmall', 'employee', 'largedata' ... and 3 more}
         TotalDocuments: 23485919

conn является mongo объект, содержащий соединение MongoDB. Свойства объекта содержат информацию о подключении и базе данных.

  • Имя базы данных mongotest.

  • Имя пользователя пусто.

  • Сервер базы данных dbtb01.

  • Номер порта 27017.

  • Эта база данных содержит шесть наборов документов. Первые три имени набора airlinesmall, employee, и largedata.

  • Эта база данных содержит 23 485 919 документов.

Проверьте подключение MongoDB.

isopen(conn)
ans =

  logical

   1

Подключение к базе данных успешно, поскольку isopen функция возвращает 1. В противном случае соединение с базой данных закроется.

Создание наборов и экспорт данных в MongoDB

Загрузите наборы данных, используя readtable функция. Преобразуйте данные о цунами в структуру с помощью table2struct функция. Рабочее рабочее пространство MATLAB содержит patientdata таблица и tsunamidata структура.

patientdata = readtable('patients.xls'); 
data = readtable('tsunamis.xlsx');
tsunamidata = table2struct(data);

Создайте наборы для хранения данных о пациенте и цунами с помощью соединения MongoDB.

patientcoll = "patients";
tsunamicoll = "tsunamis";

createCollection(conn,patientcoll)
createCollection(conn,tsunamicoll)

Экспорт данных таблицы в patients набор. n содержит количество вставленных документов.

n = insert(conn,patientcoll,patientdata)
n =

   100

Экспорт данных структуры в tsunamis набор. n содержит количество вставленных документов.

n = insert(conn,tsunamicoll,tsunamidata)
n =

   162

Подсчет документов в наборах

Отображение имен всех наборов в mongotest база данных. Новые наборы patients и tsunamis появляются в массиве ячеек векторов символов.

conn.CollectionNames'
ans =

  9×1 cell array

    {'airlinesmall'    }
    {'employee'        }
    {'largedata'       }
    {'nyctaxi'         }
    {'patients'        }
    {'product'         }
    {'restaurants'     }
    {'tsunamis'        }
    {'updateCollection'}

Подсчитайте количество документов в двух новых наборах.

npatients = count(conn,patientcoll)
ntsunamis = count(conn,tsunamicoll)
npatients =

   100


ntsunamis =

   162

Удаление документов и удаление наборов

Удалите все документы из обоих наборов. npatients и ntsunamis содержать количество документов, удаленных из каждого набора.

npatients = remove(conn,patientcoll,'{}')
ntsunamis = remove(conn,tsunamicoll,'{}')
npatients =

   100


ntsunamis =

   162

Удалите оба наборов из mongotest база данных.

dropCollection(conn,patientcoll)
dropCollection(conn,tsunamicoll)

Закройте соединение MongoDB

close(conn)

См. также

| | | | | | |

Похожие темы

Внешние веб-сайты