В этом примере показано, как экспортировать объекты из рабочей области 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 к базе данных 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: 23485919conn является mongo объект, содержащий соединение MongoDB. Свойства объекта содержат сведения о соединении и базе данных.
Имя базы данных: mongotest.
Имя пользователя пустое.
Сервер базы данных: dbtb01.
Номер порта: 27017.
Эта база данных содержит шесть коллекций документов. Первые три имени коллекции: airlinesmall, employee, и largedata.
Эта база данных содержит 23 485 919 документов.
Проверьте подключение MongoDB.
isopen(conn)
ans = logical 1
Подключение к базе данных успешно выполнено, поскольку isopen функция возвращает 1. В противном случае соединение с базой данных будет закрыто.
Создать TensileData с использованием соединения MongoDB.
collection = "TensileData";
createCollection(conn,collection)
Экспорт TensileData объектов в коллекции. insert функция сериализует TensileData в структуру в стиле JSON. ntdcs и ntdss содержат количество объектов, экспортированных в коллекцию.
ntdcs = insert(conn,collection,tdcs); ntdss = insert(conn,collection,tdss);
Импорт 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)
close(conn)
close | createCollection | dropCollection | find | insert | isopen | mongo | remove