В этом примере показано, как экспортировать данные таблицы и структуры из рабочей области MATLAB ® в новые коллекции MongoDB ® с помощью интерфейса Database Toolbox™ для MongoDB. В примере показано, как подсчитать количество документов в коллекциях, удалить документы из коллекций и удалить коллекции.
Для запуска этого примера необходимо сначала установить интерфейс Database Toolbox для MongoDB. Дополнительные сведения см. в разделе Интерфейс панели инструментов базы данных для установки 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