В этом примере показано, как импортировать полетные данные из набора MongoDB® в рабочую область MATLAB® с помощью интерфейса Database Toolbox™ для MongoDB. Пример затем показывает, как использовать запрос MongoDB с критериями фильтра и cписком полей, и как выполнить простой анализ данных на основе отфильтрованных полетных данных.
Чтобы запустить этот пример, необходимо сначала установить интерфейс Database Toolbox для MongoDB. Для получения дополнительной информации смотрите Интерфейс Database Toolbox для Установки MongoDB.
Создайте связь 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
. В противном случае соединение с базой данных закрывается.
Задайте airlinesmall
набор. Задайте запрос MongoDB, чтобы фильтровать полетные данные в течение лет 1998 - 1999. Задайте поля, чтобы получить из набора.
collection = "airlinesmall"; mongoquery = '{"Year":{$gte:1998,$lt:2000}}'; fields = ['{"Year":1.0,"Month":1.0,"DayofMonth":1.0,"DayOfWeek":1.0,' ... '"DepTime":1.0,"ArrTime":1.0}'];
Получите полетные данные с помощью связи MongoDB. documents
массив структур с полями, которые соответствуют заданным полям.
documents = find(conn,collection,'Query',mongoquery,'Projection',fields)
documents = 10911×1 struct array with fields: x_id Year Month DayofMonth DayOfWeek DepTime ArrTime
Определите уникальные годы в данных.
years = [documents(:).Year]; unique(years)
ans = 1998 1999
Закройте связь MongoDB.
close(conn)
close
| find
| isopen
| mongo
| unique