Импортируйте и экспортируйте объекты MATLAB Используя MongoDB

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

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

В этом примере объекты принадлежат классу TensileData. Этот класс является демонстрационным классом в MATLAB. Данные, используемые, чтобы создать объекты, являются выборочными данными. Для получения дополнительной информации смотрите Структурированные данные Представления с Классами (MATLAB). Чтобы запустить код в этом примере, задайте класс в текущей папке.

Данные представляют растяжимое напряжение или измерения деформации. Чтобы вычислить эластичный модуль различных материалов, используйте эти данные. Проще говоря, напряжение является силой, применился к материалу, и деформация является получившейся деформацией. Отношение напряжения, чтобы напрячься задает характеристику материала.

Создайте объекты

Создайте объекты TensileData tdcs для материалов углеродистой стали и tdss для материалов из нержавеющей стали.

tdcs = TensileData('carbon steel',1, ...
    [2e4 4e4 6e4 8e4],[.12 .20 .31 .40]);
tdss = TensileData('stainless steel',1, ...
    [2e4 4e4 6e4 8e4],[.06 .10 .16 .20]);

Соединитесь с 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

Создайте набор TensileData с помощью связи MongoDB.

collection = "TensileData";
createCollection(conn,collection)

Экспортируйте объекты в MongoDB

Экспортируйте объекты TensileData в набор. Функция insert сериализирует объекты TensileData в структуру JSON-стиля. ntdcs и ntdss содержат количество объектов, экспортируемых в набор.

ntdcs = insert(conn,collection,tdcs);
ntdss = insert(conn,collection,tdss);

Импортируйте объекты в рабочее пространство MATLAB

Импортируйте объекты TensileData в рабочее пространство MATLAB. Функция find десериализовывает объекты TensileData в массив структур documents.

documents = find(conn,collection);

Воссоздайте объекты в рабочем пространстве MATLAB.

tdcs = TensileData(documents(1).Material,documents(1).SampleNumber, ...
    documents(1).Stress,documents(1).Strain);
tdss = TensileData(documents(2).Material,documents(2).SampleNumber, ...
    documents(2).Stress,documents(2).Strain);

Можно выполнить методы объектов после того, как они появятся в рабочем пространстве MATLAB.

Удалите набор отбрасывания и документы

Удалите все документы из набора. n содержит количество документов, удаленных из набора.

n = remove(conn,collection,'{}')
n =

     2

Пропустите набор.

dropCollection(conn,collection)

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

close(conn)

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

| | | | | | |

Похожие темы

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