Экспортируйте данные MATLAB в MongoDB

Этот пример показывает как таблице экспорта и данным о структуре из рабочей области MATLAB® в новые наборы MongoDB® с помощью интерфейса Database Toolbox™ для MongoDB. Пример затем показывает, как считать количество документов в наборах, удалить документы из наборов и пропустить наборы.

Чтобы запустить этот пример, необходимо сначала установить интерфейс Database Toolbox для MongoDB. Для получения дополнительной информации смотрите Интерфейс Database Toolbox для Установки MongoDB.

Пример использует два набора данных: patients.xls, который содержит данные о пациентах и tsunamis.xlsx, который содержит данные о цунами. Можно найти файлы для этих наборов данных в папке toolbox/matlab/demos.

Соединитесь с MongoDB

Создайте связь 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. В противном случае соединение с базой данных закрывается.

Создайте наборы и экспортируйте данные в MongoDB

Загрузите наборы данных с помощью функции 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)

Закройте связь MongoDB

close(conn)

Смотрите также

| | | | | | |

Похожие темы

Внешние веб-сайты