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