distinct

Извлечение различных значений для поля в наборе MongoDB

Описание

пример

values = distinct(conn,collection,field) возвращает отдельные значения для поля в наборе при помощи MongoDB® подключение.

пример

values = distinct(conn,collection,field,'Query',mongoquery) возвращает отдельные значения для поля в выполненном запросе 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. В противном случае соединение с базой данных закроется.

Извлечение отдельного множества значений для поля в коллекции документов. Здесь можно получить отдельную зарплату для всех сотрудников. values - массив ячеек с двойным числом ячеек.

collection = "employee";
field = "salary";
values = distinct(conn,collection,field);

Отображение первых трех окладов в массиве ячеек.

values{1:3}
ans =

       60000


ans =

       50000


ans =

       55000

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

Создайте запрос в стиле JSON как вектор символов, который содержит строку в стиле JSON. Этот запрос устанавливает department поле, равное значению Sales.

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

Используйте запрос MongoDB на employee для извлечения отдельного множества значений для поля. Здесь можно получить отдельные оклады всех сотрудников отдела сбыта. values - массив ячеек с двойным числом ячеек.

collection = "employee";
field = "salary";
values = distinct(conn,collection,field,'Query',mongoquery)
values =

  1×3 cell array

    {[60000]}    {[64440]}    {[66000]}

Закройте соединение MongoDB.

close(conn)

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

свернуть все

Соединение MongoDB, заданное как mongo объект.

Имя набора, заданное как строковый скаляр.

Пример: "taxidata"

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

Поле в наборе, заданное как строковый скаляр.

Пример: "department"

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

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

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

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

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

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

свернуть все

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

Введенный в R2017b