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