В этом примере показано, как экспортировать объекты из MATLAB® рабочая область в MongoDB® использование интерфейса Database Toolbox™ для MongoDB. Экспорт сериализует объекты в MongoDB. Затем в примере показано, как импортировать объекты обратно в рабочее пространство MATLAB. Импорт десериализует объекты и воссоздает их в MATLAB для выполнения метода. После экспорта и импорта в примере показано, как удалить набор.
Чтобы запустить этот пример, необходимо сначала установить интерфейс Database Toolbox для MongoDB. Для получения дополнительной информации смотрите Интерфейс Database Toolbox для установки 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