find

Получите документы в наборе MongoDB

find функция будет удалена в будущем релизе. Используйте find функция MongoDB® Интерфейс C++ вместо этого.

Описание

пример

documents = find(conn,collection) возвращает все документы в наборе при помощи связи MongoDB.

пример

documents = find(conn,collection,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, 'Limit',10 ограничивает количество документов, возвращенных к 10.

Примеры

свернуть все

Соединитесь с MongoDB, получите все документы в наборе и импортируйте их в MATLAB®. Здесь, каждый документ в наборе представляет сотрудника.

Создайте связь 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. В противном случае соединение с базой данных закрывается.

Задайте employee набор для поиска документов. Получите все документы в наборе при помощи связи MongoDB. documents массив структур.

collection = "employee";
documents = find(conn,collection);

Отобразите первый документ в наборе. Каждый документ является структурой с этими полями.

Поле ОписаниеТип данных
x_idУникальный идентификаторСтруктура
departmentИмя отделаСимвольный вектор
employeeИдентификатор сотрудника'double'
salaryЗарплата сотрудника'double'

documents(1)
ans = 

  struct with fields:

          x_id: [1×1 struct]
    department: 'Sales'
      employee: 1
        salary: 60000

Закройте связь MongoDB.

close(conn)

Соединитесь с MongoDB, получите все документы в запросе MongoDB на наборе в базе данных и импортируйте их в MATLAB. Здесь, каждый документ в наборе представляет сотрудника.

Создайте связь 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. В противном случае соединение с базой данных закрывается.

Задайте employee набор для поиска документов. Создайте запрос MongoDB как вектор символов, который содержит строку JSON-стиля. Этот запрос получает всех сотрудников в отделе Продаж.

collection = "employee";
mongoquery = '{"department":"Sales"}';

Получите все документы в запросе MongoDB на employee набор при помощи связи MongoDB. documents массив структур, который содержит структуру для каждого документа, возвращенного запросом.

documents = find(conn,collection,'Query',mongoquery);

Закройте связь MongoDB.

close(conn)

Соединитесь с MongoDB и получите документы в запросе 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. В противном случае соединение с базой данных закрывается.

Задайте employee набор для поиска документов. Создайте запрос MongoDB как вектор символов, который содержит строку JSON-стиля. Этот запрос получает всех сотрудников в отделе Продаж.

collection = "employee";
mongoquery = '{"department":"Sales"}';

Создайте запрос вида как вектор символов, который содержит строку JSON-стиля. Сортировка документов salary поле .

sortquery = '{"salary":1.0}';

Получите все документы в запросе MongoDB на employee набор при помощи связи MongoDB и вид документы. documents массив структур, который содержит структуру для каждого документа, возвращенного запросом. Документы сортируются по зарплате в увеличивающемся порядке.

documents = find(conn,collection,'Query',mongoquery,'Sort',sortquery);

Отобразите отсортированные зарплаты для первых двух сотрудников.

documents(1:2).salary
ans =

       60000


ans =

       64440

Закройте связь MongoDB.

close(conn)

Соединитесь с MongoDB и получите все документы в наборе. Задайте поля, чтобы получить для каждого документа. Импортируйте документы в MATLAB. Здесь, каждый документ в наборе представляет сотрудника.

Создайте связь 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. В противном случае соединение с базой данных закрывается.

Задайте employee набор для поиска документов. Задайте поля, чтобы получить для каждого документа при помощи вектора символов, который содержит строку JSON-стиля. Здесь, возвратите department и salary поля .

collection = "employee";
fields = '{"department":1.0,"salary":1.0}';

Получите все документы в наборе. Используйте аргумент пары "имя-значение" 'Projection' получать заданные поля для каждого документа. documents массив структур.

documents = find(conn,collection,'Projection',fields);

Отобразите первый документ в результатах. В дополнение к уникальному идентификатору для документа документ содержит только заданные поля, department и salary.

documents(1)
ans = 

  struct with fields:

          x_id: [1×1 struct]
    department: 'Sales'
        salary: 60000

Закройте связь MongoDB.

close(conn)

Соединитесь с MongoDB и получите определенное количество документов в наборе в базе данных. Возвратите документы в определенное положение в результатах с помощью значения смещения. Импортируйте документы в MATLAB. Здесь, каждый документ в наборе представляет сотрудника.

Создайте связь 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. В противном случае соединение с базой данных закрывается.

Задайте employee набор для поиска документов.

collection = "employee";

Используйте аргумент пары "имя-значение" 'Skip' пропускать первые пять документов в наборе. Затем используйте аргумент пары "имя-значение" 'Limit' возвратить следующие 10 документов в наборе. documents массив структур, который содержит 10 документов.

documents = find(conn,collection,'Skip',5,'Limit',10);

Закройте связь MongoDB.

close(conn)

Входные параметры

свернуть все

Связь MongoDB в виде mongo объект.

Имя набора в виде строкового скаляра.

Пример: "taxidata"

Типы данных: string

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Skip',5,'Limit',10 пропускает первые пять документов в наборе и возвращает следующие 10 документов.

MongoDB запрашивают в виде разделенной запятой пары, состоящей из 'Query' и строковый скаляр или вектор символов. Задайте строку JSON-стиля, чтобы запросить базу данных.

Пример: 'Query','{"department":"Sales"}' запрашивает базу данных для документов где department поле равно Sales.

Пример: 'Query','{"salary": {$gt: 90000}}' запрашивает базу данных для документов где значение salary поле больше 90000.

Пример: 'Query','{"_id":{$oid:"593fec95b78dc311e01e9204"}}' запрашивает базу данных для документа, который имеет идентификатор 593fec95b78dc311e01e9204.

Типы данных: char | string

Поля, чтобы получить в каждом документе в виде разделенной запятой пары, состоящей из 'Projection' и строковый скаляр или вектор символов. Задайте строку JSON-стиля, чтобы описать поля.

Пример: 'Projection','{"department":1.0,"salary":1.0}' возвращает department и salary поля .

Типы данных: char | string

Поле сортировки для документов в виде разделенной запятой пары, состоящей из 'Sort' и строковый скаляр или вектор символов. Задайте строку JSON-стиля, чтобы описать поле сортировки.

Пример: 'Sort','{"department":1.0}' сортирует возвращенные документы по department поле .

Типы данных: char | string

Возместите с начала возвращенных документов в виде разделенной запятой пары, состоящей из 'Skip' и числовой скаляр.

Пример: 'Skip',5 пропускает первые пять возвращенных документов.

Типы данных: double

Количество документов, чтобы возвратиться в виде разделенной запятой пары, состоящей из 'Limit' и числовой скаляр.

Пример: 'Limit',10 возвращает 10 документов.

Типы данных: double

Выходные аргументы

свернуть все

Документы в наборе MongoDB или запросе на наборе, возвращенном как структура, массив структур или массив ячеек структур.

Каждый документ JSON-стиля представлен как структура. find функция возвращает a:

  • Структура для одного документа

  • Массив структур для нескольких документов, содержащих те же поля

  • Массив ячеек структур для нескольких документов, содержащих различные поля

Советы

  • find функционируйте оценивает требования к памяти при получении многих документов с помощью Java® куча. Чтобы избежать проблем из памяти, функция автоматически ограничивает количество возвращенных документов в одном выполнении.

    Когда проблема происходит, функция выдает предупреждающее сообщение, например, Warning: Available memory is less than Total memory required. Limiting the RESULTSET from 15837001 to 59248. Use Skip and Limit to retrieve resultset in batches.

    Чтобы получить много документов, получите их в пакетах. Для примера смотрите, Импортируют Большие Данные от MongoDB.

Введенный в R2017b