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