exponenta event banner

Импорт и экспорт объектов MATLAB с помощью MongoDB

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

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

В этом примере объекты принадлежат TensileData класс. Этот класс является образцом класса в 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)

См. также

| | | | | | |

Связанные темы

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