В этом примере показано, как экспортировать объекты из 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: 23485919
conn
является 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