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

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

В этом примере объекты принадлежат 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 интерфейс C++

Создайте связь MongoDB с базой данных mongotest использование интерфейса C++ MongoDB. Здесь, сервер базы данных dbtb01 хосты эта база данных с помощью номера порта 27017.

server = "dbtb01";
port = 27017;
dbname = "mongotest";
conn = mongoc(server,port,dbname)
conn = 

  connection with properties:

               Database: "mongotest"
               UserName: ""
                 Server: "dbtb01"
                   Port: 27017
        CollectionNames: [13×1 string]

conn mongo объект, который содержит связь MongoDB. Свойства объектов содержат информацию о связи и базе данных.

  • Именем базы данных является mongotest.

  • Имя пользователя является пробелом.

  • Сервером базы данных является dbtb01.

  • Номером порта является 27017.

  • Эта база данных содержит 13 наборов документа.

Проверьте связь 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 связь интерфейса C++

close(conn)

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

| | | | | | |

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