В этом примере показано, как к таблице экспорта и данным о структуре из рабочей области 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