В этом примере показано, как экспортировать данные таблицы и структуры из MATLAB® рабочая область в новую MongoDB® наборов с использованием интерфейса Database Toolbox™ для MongoDB. Затем в примере показано, как подсчитать количество документов в наборах, удалить документы из наборов и удалить наборы.
Чтобы запустить этот пример, необходимо сначала установить интерфейс Database Toolbox для MongoDB. Для получения дополнительной информации смотрите Интерфейс Database Toolbox для установки MongoDB.
В примере используются два набора данных: patients.xls, который содержит данные о пациентах, и tsunamis.xlsx, который содержит данные о цунами. Файлы для этих наборов данных можно найти в toolbox/matlab/demos папка.
Создайте соединение 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: 23485919conn является mongo объект, содержащий соединение MongoDB. Свойства объекта содержат информацию о подключении и базе данных.
Имя базы данных mongotest.
Имя пользователя пусто.
Сервер базы данных dbtb01.
Номер порта 27017.
Эта база данных содержит шесть наборов документов. Первые три имени набора airlinesmall, employee, и largedata.
Эта база данных содержит 23 485 919 документов.
Проверьте подключение MongoDB.
isopen(conn)
ans = logical 1
Подключение к базе данных успешно, поскольку isopen функция возвращает 1. В противном случае соединение с базой данных закроется.
Загрузите наборы данных, используя 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)
close(conn)
close | count | createCollection | dropCollection | insert | isopen | mongo | remove