Найти запрос: Поиск по страницам и сайтам

Содержание

Найти запрос по ИД | Microsoft Learn





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья

  • Чтение занимает 2 мин

Описание API

Извлекает конкретный билет по его идентификатору.

Предварительные требования

Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Тип разрешенияРазрешения
DelegatedНеприменимо
ApplicationMmdSupport.ReadWrite

HTTP-запрос

GET https://mmdls.microsoft.com/support/odata/v1/tickets('TicketId')
ЗаголовокЗначение
АвторизацияНоситель {token} (обязательный)
Acceptapplication/json

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 200 OK и сведения о пользователе в тексте ответа.

Пример

Пример запроса

Ниже приведен пример HTTP-запроса.

GET https://mmdls.microsoft.com/support/odata/v1/tickets('TicketId')

Пример отклика

Ниже приведен пример ответа JSON.

{ 
    "@odata.context": "https://mmd-support-prod-nam.trafficmanager.net/odata/v1/$metadata#Tickets/$entity", 
    "title": "Title", 
    "description": "Description", 
    "isPartner": true, 
    "type": "Incident", 
    "category": "Devices", 
    "subcategory": "Configuration/Policy", 
    "compromiseIndicator": null, 
    "usersOrDevicesImpacted": 100, 
    "relatedAlerts": null, 
    "businessImpact": "Business Impact", 
    "issueFirstNoticed": "2021-10-06T07:00:00Z", 
    "issueReproduced": true, 
    "endUserSupportEngaged": true, 
    "troubleshootingSteps": "Describe any troubleshooting steps performed.", 
    "nextActionOwner": "Microsoft", 
    "nextActionTime": null, 
    "reproSteps": null, 
    "id": "MMD-1465058-R5V8P", 
    "severity": 2, 
    "state": "active", 
    "createdDateTime": "2021-12-14T04:28:18Z", 
    "resolvedDateTime": null, 
    "contact": { 
        "id": "Unique Id", 
        "givenName": "John", 
        "surname": "Doe", 
        "email": "jd@contoso. com", 
        "phoneNumber": "phone number", 
        "preferredLanguageId": "" 
    }, 
    "emails": [], 
    "attachments": [], 
    "notes": [] 
}






Управление запросами (Power Query) — Служба поддержки Майкрософт


Excel

Импорт и анализ данных

Импорт данных



Импорт данных

Управление запросами (Power Query)

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше


Вы можете управлять запросами в области «Запросы» Редактор Power Query или на вкладке «Запросы» на панели «Запросы & подключения» в Excel. Это особенно полезно, если у вас много запросов и вы хотите быстро найти запрос. После поиска запроса можно выполнить ряд дополнительных действий, таких как дублирование, ссылка, слияние, добавление, совместное использование и удаление запроса.


При создании запроса сведения о подключении создаются в фоновом режиме. Роль запроса — формирование данных. Сведения о подключении должны поддерживать сведения об источнике данных и обновлять их в соответствии с параметрами обновления, такими как частота.

Не все запросы могут быть загружены на лист. Это может произойти, когда вы импортируете данные из внешнего источника данных, формируете данные в Редактор Power Query, выбираете home> Load To, а затем используете диалоговое окно «Импорт данных», чтобы поместить запрос в модель данных или ODC-файл.


Ниже приведена сводка команд, которые можно использовать в том порядке, в котором они отображаются в соответствующих контекстных меню на вкладке «Запросы» на панели «Запросы & Подключение» в Excel или на панели «Запросы» Редактор Power Query. Некоторые команды доступны только на одной панели. Многие из этих команд также доступны на вкладке «Запрос контекста» на ленте.  Все запросы в книге отображаются и сортируются по дате и времени последнего изменения, начиная с последнего.

  1. Выполните одно из следующих действий:

    в Excel    выберите запросы> данных & подключения> запросы.

    В разделе Редактор Power Query     Выбор данных> получить > запуска Редактор Power Query и просмотреть область запросов слева.

  2. Выберите команду управления запросом:

    Edit    Edits the query in the Редактор Power Query. Доступно только на вкладке » Запросы » & «Подключения «.

    Удалить     Удаляет запрос.

    Переименовать Изменяет имя запроса.  

    Обновить     Предоставляет актуальные данные из внешних источников данных. Доступно только на вкладке « Запросы » & «Подключения «. Дополнительные сведения см. в разделе «Обновление подключения к внешним данным» в Excel.

    Загрузить в     Отображает диалоговое окно «Импорт данных», в котором можно выбрать способ просмотра данных, место их размещения и добавить в модель данных. Доступно только на вкладке » Запросы » & «Подключения «.

    Дублировать     Создает копию выбранного запроса с тем же именем, что и исходный запрос, добавленный (2). Вы можете переименовать запрос, чтобы упростить его идентификацию. Последующие изменения исходного запроса не влияют на новый запрос.

    Ссылки     Создает новый запрос, который использует шаги предыдущего запроса без необходимости дублировать запрос. Новый запрос следует тому же соглашению об именовании, что и команда Duplicate . Вы можете переименовать новый запрос, чтобы его было проще идентифицировать. Последующие изменения исходного запроса, которые приводят к изменению выходных данных, влияют на новый запрос.

    Объединить     Объединение столбцов в запросе с соответствующими столбцами в других запросах. Дополнительные сведения о слиянии см. в разделе «Запросы на слияние». Доступно только на вкладке » Запросы » & «Подключения «.

    Добавить    Добавление столбцов в запрос с соответствующими столбцами в других запросах. Дополнительные сведения о добавлении см. в разделе «Запросы на добавление». Доступно только на вкладке » Запросы » & «Подключения «.

    Переместить в группу     Перемещает запрос в группу в списке или, если группы отсутствуют, выберите «Создать группу», чтобы создать ее. Присвойте ему понятное имя, например «Бюджет» или «Маркетинг». Используйте группы для упорядочивания множества запросов по категориям. Вы даже можете создавать группы в группах.

    Вверх     Перемещает запрос вверх в списке запросов.

    Переместить вниз     Перемещает запрос вниз в списке запросов.

    В диалоговом    окне «Создание функции » отображается диалоговое окно «Создание функции». Доступно только на панели запросов в Редактор Power Query. Дополнительные сведения см. в Power Query функции M.

    Преобразование в параметр Преобразует запрос в параметр и отображает его в предварительной версии данных. Если текущий дисплей является параметром, команда переключается на преобразование в запрос.  Доступно только на панели запросов в Редактор Power Query. Дополнительные сведения см. в разделе «Создание запроса параметров Power Query».

    Расширенный редактор    открывает окно Расширенный редактор окна. Дополнительные сведения см. в статье «Создание Power Query в Excel». Доступно только на панели запросов в Редактор Power Query.

    Экспорт файла подключения    Сохраняет запрос в виде ODC-файла подключения. ODC-файл содержит определение запроса, сведения о подключении к источнику данных и все шаги преобразования. Это полезно, если вы хотите поделиться запросами с другими пользователями и книгами. Кроме того, можно использовать команду «Свойства» на вкладке «Контекст запроса» Power Query ленты. Дополнительные сведения см. в статье «Создание, изменение подключений к внешним данным и управление ими».  Доступно только на вкладке » Запросы » & «Подключения «.

    Показать окно просмотра    Отображает всплывающее окно запроса с предварительным просмотром данных и другими полезными сведениями.  Доступно только на вкладке » Запросы » & «Подключения «.

    Вариантов размещения     Используйте эту команду для управления запросом и сведениями о подключении к источнику данных. На вкладке « Запросы » на панели & connections (Запросы) откроется диалоговое окно «Свойства запроса». На панели «Запросы» в Редактор Power Query откроется диалоговое окно «Параметры запроса». 


Вы можете включить или отключить отображение всплывающего элемента запроса при наведении указателя мыши на имя запроса на вкладке «Запрос» на панели «Запросы & подключения». Этот параметр управляет отображением всплывающего элемента только путем наведения указателя мыши. Вы по-прежнему можете отобразить всплывающее окно запроса, щелкнув правой кнопкой мыши имя запроса, а затем выбрав команду «Показать».

  1. Выберите параметры > «Получение > данных».

  2. Слева в разделе GLOBAL выберите » Общие».

  3. Справа в разделе » Предварительный просмотр запроса» снимите флажок рядом с кнопкой «Показать окно при наведении указателя мыши». Действие по умолчанию — отображение всплывающего меню при наведении указателя мыши.

Excel для Интернета включает Power Query (также называемую get & Transform) для повышения производительности при работе с импортируемыми источниками данных. Запросы и связанные сведения можно просмотреть в области задач «Запросы».

Примечание: Следите за дальнейшими объявлениями об улучшениях Excel для Интернета и Power Query интеграции.


Запросы и связанные сведения можно просмотреть на панели запросов.

  1. Убедитесь, что вы в режиме правки ( выберите «Просмотр > редактирование»).

  2. org/ListItem»>

    Выберите запросы > данных.


Результат

Excel отображает область задач » Запросы» и все запросы в текущей книге, а также сведения о запросах, такие как количество строк, дата последнего обновления, расположение и состояние загрузки. Если запрос загружается в модель данных, а не в сетку, в Excel отображается значение «Только подключение».


Вы можете выполнять различные задачи группирования, чтобы лучше упорядочить запросы.

  1. Убедитесь, что вы в режиме правки ( выберите «Просмотр > редактирование»).

  2. org/ListItem»>

    Выберите запросы > данных.

  3. Выполните одно или несколько из указанных ниже действий.


    Создание группы

    1. В правом верхнем углу области » Запросы» выберите «Дополнительные параметры» > «Создать группу».

    2. Введите имя (при необходимости описание) и нажмите кнопку » Сохранить».


    Перемещение запроса или группы в другую группу

    1. Рядом с запросом или именем группы выберите «Дополнительные параметры» >«Переместить в группу».

    2. Выберите группу, в которую нужно переместить, а затем нажмите кнопку «Сохранить».


    Перемещение группы на верхний уровень


    Развертывание или свертывание групп

    • org/ListItem»>

      Чтобы развернуть или свернуть все группы, в правом верхнем углу области «Запросы» выберите «Дополнительные параметры» > «Развернуть все» или «Свернуть все».

    • Чтобы развернуть или свернуть определенную группу, щелкните стрелку рядом с ее именем.


    Обновление всех запросов в группе

    • Рядом с именем группы выберите » Дополнительные параметры» >«Обновить».


      Примечание    Обновление работает только для поддерживаемых источников данных. Дополнительные сведения см. в Power Query источниках данных в версиях Excel.


    Разгруппировка запросов в группе


    Переименование группы

    1. Рядом с именем группы выберите » Дополнительные параметры»… > переименовать.

    2. Введите новое имя и нажмите клавишу RETURN.


    Удаление группы


    Изменение свойств группы

      org/ItemList»>

    1. Рядом с именем группы выберите «Дополнительные параметры… >«.

    2. Переименуйте группу или измените ее описание, а затем нажмите кнопку «Сохранить».


    Совет    Чтобы просмотреть описание группы, наведите на нее указатель мыши.


См. также



Справка по Power Query для Excel


Изменение свойств параметров запроса


Использование панели «Запросы» (docs. com)


находка — Руководство по MongoDB

Документы Домики → Руководство по MongoDB

на этой странице

  • Определение
  • Синтаксис
  • Поведение
  • Найти

Определение

2

2

  • 9

    2

    . пакет результатов и
    идентификатор курсора, из которого клиент может создать курсор.

    В mongosh эту команду также можно запустить через db.collection.find() или
    db.collection.findOne() вспомогательный метод.

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

    Синтаксис

    Изменено в версии 4. 4 : MongoDB отказывается от опции oplogReplay вместо find
    команда. Оптимизация, включенная этим флагом в предыдущих версиях, теперь
    происходит автоматически для подходящих запросов в оплоге. Следовательно,
    вам не нужно указывать этот флаг. Если указано, сервер принимает
    флаг для обратной совместимости, но этот флаг не имеет никакого эффекта.

    Команда find имеет следующий синтаксис:

    Изменено в версии 5.0 .

     4 
    DB.RUNCOMMAND (
    {
    Найти: ,
    . : <документ>,
    подсказка: <документ или строка>,
    skip: ,
    limit: ,
    batchSize: ,
    singleBatch: ,
    comment: ,
    maxTimeMS: ,
    readConcern: ,
    max: ,
    min: 0063
    returnKey: ,
    showRecordId: ,
    tailable: ,
    oplogReplay: ,
    noCursorTimeout: ,
    awaitData: ,
    allowPartialResults: ,
    сопоставление: ,
    AllowDiskuse: ,
    Let: <Документ> // Добавлен в MongoDB 5. 0
    }
    )
    ).

    2 необязательно. Спецификация индекса. Укажите либо имя индекса в качестве строка или шаблон ключа индекса. Если указано, то система запросов будут рассматривать только планы, использующие указанный индекс.

    Начиная с MongoDB 4.2, за следующим исключением: подсказка требуется, если команда включает мин и/или макс. поля; подсказка не требуется с min и/или max если фильтр является условием равенства в поле _id { _id: <значение> } .

    Филд

    Тип

    Описание

    202020111106097

    20202011110997

    2020111119

    20201999997

    20002 строка

    Имя коллекции или представления для запроса.

    фильтр

    документ

    Дополнительно. Предикат запроса. Если не указано, то все документы в коллекция будет соответствовать предикату.

    документ

    Дополнительно. Спецификация сортировки для упорядочения результатов.

    проекция

    документ

    Дополнительно. Спецификация проекции на определить, какие поля включить в возвращаемые документы. Видеть Проекция и проекционные операторы.

    find() операции над представлениями не поддерживаются следующая проекция операторы:

    • $

    • $elemMatch

    • $slice

      1

    • 30002 $meta

    подсказка

    строка или документ

    пропустить

    Положительное целое число

    Необязательно. Количество документов, которые необходимо пропустить. По умолчанию 0.

    предел

    Неотрицательное целое число

    Дополнительно. Максимальное количество документов для возврата. Если не указано, затем по умолчанию без ограничений. Ограничение 0 эквивалентно установке no предел.

    размер партии

    неотрицательное целое число

    Необязательно. Количество документов, подлежащих возврату в первом пакете. По умолчанию 101. Пакетный размер 0 означает, что курсор будет установлен, но в первой партии документы не возвращаются.

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

    одиночная партия

    логическое значение

    Дополнительно. Определяет, закрывать ли курсор после первого партия. По умолчанию ложно.

    комментарий

    любой

    Дополнительно.

    Пользовательский комментарий для присоединения к этой команде. После установки это комментарий появляется рядом с записями этой команды в следующем мест:

    • сообщения журнала mongod, в attr.command.cursor.comment поле.

    • Выходные данные профилировщика базы данных в поле command.comment .

    • currentOp вывод, в поле command.comment .

    Комментарий может быть любого допустимого типа BSON (строка, целое число, объект, массив и т. д.).

    Любой комментарий к команде find наследуется любым последующим getMore 9Команды 0021 выполняются на найти курсор.

    Изменено в версии 4.4. До версии 4.4 комментарии могли быть только строками.

    maxTimeMS

    положительное целое число

    Необязательно. Совокупный лимит времени в миллисекундах для обработки операций на курсор. MongoDB прерывает операцию в ближайшее время после точка прерывания.

    При указании линеаризуемой проблемы чтения , всегда используйте maxTimeMS в случае, если большинство элементы, несущие данные, недоступны. maxTimeMS гарантирует, что операция не блокируется на неопределенный срок, а вместо этого гарантирует что операция возвращает ошибку, если чтение беспокойство не может быть выполнено.

    readConcern

    документ

    Дополнительно. Определяет интерес к чтению.

    Начиная с MongoDB 3.6, параметр readConcern имеет следующее синтаксис: readConcern: { level: }

    Возможные уровни опасности чтения:

    • "local" . Это уровень считывания по умолчанию для операции чтения для первичных и вторичных серверов.

    • "в наличии" . Доступен для операций чтения первичные и вторичные. "доступен" ведет себя то же, что и "локальный" по отношению к первичному и нераспределенному второстепенные. Запрос возвращает самые последние данные экземпляра.

    • "большинство" . Доступно для наборов реплик, которые используют Механизм хранения WiredTiger.

    • "линеаризуемый" . Доступен для операций чтения на первичный только .

    Дополнительные сведения об уровнях считывания см. Прочтите Уровни беспокойства.

    Команда getMore использует уровень readConcern указанный в исходной команде find .

    макс.

    документ

    Дополнительно. эксклюзивная верхняя граница для определенного индекса. Видеть cursor.max() для подробностей.

    Начиная с MongoDB 4.2, чтобы использовать поле max , команда должна также используйте подсказку , если указанный фильтр не является условие равенства для поля _id { _id: } .

    мин.

    документ

    Дополнительно. Нижняя граница включительно для конкретного индекса. Видеть cursor.min() для подробностей.

    Начиная с MongoDB 4.2, чтобы использовать поле мин , команда должна также используйте подсказку , если указанный фильтр не является условие равенства для поля _id { _id: } .

    Клавиша возврата

    логический

    Опционально. Если true, возвращает только ключи индекса в результирующих документах. Значение по умолчанию — ложь. Если returnKey истинно и находит команда не использует индекс, возвращаемые документы будут пустыми.

    showRecordId

    логическое значение

    Необязательно. Определяет, следует ли возвращать идентификатор записи для каждого документа. Если true, добавляет поле $recordId к возвращаемым документам.

    хвостовой

    логический

    Опционально. Возвращает хвостовой курсор для закрытых коллекций.

    awaitData

    логическое значение

    Необязательно. Используйте вместе с опцией tailable, чтобы заблокировать команда getMore на курсор временно, если в конце данных, а не возвращать никаких данных. По истечении тайм-аута, find возвращается как обычно.

    oplogReplay

    логическое значение

    Устарело, начиная с версии 4.4 .

    Дополнительно. Внутренняя команда для воспроизведения oplog набора реплик.

    Чтобы использовать oplogReplay , поле find должно содержать фильтр вариант сравнения поля документа ts с метка времени с использованием одного из следующих операторы сравнения:

    • $ GTE

    • $ GT

    • $ EQ

    . закрытая коллекция с отметкой времени позже или равно 1 января 2018 г. UTC:

     
    { find: "data",
    oplogReplay: true,
    filter: { ts: { $ampgte: new Times(1 ts: { 0) } } }

    Устарело

    Изменено в версии 4.4 .

    Начиная с MongoDB 4.4, поле oplogReplay устарело. найти полей, которые используют $gte , $gt , или $eq фильтр на основе поля ts будет автоматически использовать формат хранения реплики set's oplog для выполнения команды more эффективно. Если указано, сервер принимает oplogReplay флаг для обратной совместимости, но этот флаг не имеет никакого эффекта.

    noCursorTimeout

    логическое значение

    Необязательно. Предотвращает истечение времени ожидания сервером бездействующих курсоров после бездействия. период (10 минут).

    allowPartialResults

    логическое значение

    Необязательно. Для запросов к сегментированной коллекции позволяет команда (или последующие getMore команд) для возврата частичные результаты, а не ошибка, если один или несколько запрошены осколки недоступны.

    Начиная с MongoDB 4.4, если найти (или последующие команд getMore ) возвращает частичные результаты из-за недоступность запрошенных осколков, выходные данные включают partialResultsReturned поле индикатора.

    Если запрошенные осколки изначально доступны для найти команду , но один или несколько осколков становятся недоступен в последующих getMore команд, только команды getMore запускаются, когда запрошенный сегмент или осколки недоступны, включая partialResultsReturned флаг на выходе.

    сопоставление

    документ

    Дополнительно.

    Указывает порядок сортировки для операции.

    Сопоставление позволяет пользователям указывать специфичные для языка правила для сравнения строк, такие как правила для регистр букв и знаки ударения.

    Вариант сопоставления имеет следующий синтаксис:

     
    СОЕДИНЕНИЕ: {
    LOCALE: ,
    CASELEVE
    Strength: ,
    numericOrdering: ,
    alter: ,
    maxVariable: ,
    назад:
    }

    При указании сортировки поле locale является обязательным; все другие поля сопоставления являются необязательными. Для описания полей, см. документ сопоставления.

    Если сопоставление не указано, но коллекция имеет сопоставление по умолчанию (см. db.createCollection() ), операция использует параметры сортировки, указанные для коллекции.

    Если для коллекции или для операций, MongoDB использует простое бинарное сравнение, использовавшееся в предыдущих версии для сравнения строк.

    Нельзя указать несколько параметров сортировки для операции. За например, вы не можете указать разные параметры сортировки для каждого поля, или если выполняя поиск с сортировкой, вы не можете использовать одну сортировку для найти и другой для рода.

    allowDiskUse

    логическое значение

    Необязательно.

    Используйте этот параметр, чтобы переопределить allowDiskUseByDefault для конкретного запроса. Вы можете использовать эту опцию для:

    Начиная с MongoDB 6.0, если установлено allowDiskUseByDefault на правда и сервер требует более 100 мегабайт памяти для этапа выполнения конвейера MongoDB автоматически записывает временные файлы на диск, если в запросе не указано {allowDiskUse: ложь} .

    Подробнее см. allowDiskUseByDefault .

    allowDiskUse не действует, если MongoDB может удовлетворить указанная сортировка с использованием индекса, или , если блокирующая сортировка требует менее 100 мегабайт памяти.

    Для получения более полной документации по allowDiskUse , см. cursor.allowDiskUse() .

    Для получения дополнительной информации об ограничениях памяти для больших блоков сортировки см. в разделе Сортировка и использование индексов.

    Новое в версии 4.4 .

    пусть

    документ

    Дополнительно.

    Указывает документ со списком переменных. Это позволяет вам улучшить читаемость команды, отделив переменные от запроса текст.

    Синтаксис документа:

     11114

    14

    1141414141414141414141414141414141414114.. устанавливается на значение, возвращаемое выражением, и не может быть изменены впоследствии.

    Чтобы получить доступ к значению переменной в команде, используйте двойной префикс знака доллара ( $$ ) вместе с именем вашей переменной в форме $$<имя_переменной> . Например: $$targetTotal .

    Чтобы использовать переменную для фильтрации результатов, вы должны получить доступ к переменной внутри оператора $expr .

    Полный пример использования let и переменных см. Используйте переменные в пусть .

    Новое в версии 5.0 .

    {: ,
    ...,
    : }

    Вывод

    Команда возвращает документ, содержащий информацию о курсоре, включая идентификатор курсора и первую партию документов. Например, следующий документ возвращается при запуске против сегментированного коллекция:

       7"54efa 92062 "_id" : объект847436 "), 62 ": 62": 9.62" 9. 61621212225, 2). 
    {
    "cursor" : {
    "firstBatch" : [
    {
    "_id" : ObjectId("5e8e2ca217b5324fa9847435"),
    " почтовый индекс» : «20001»,
    «x» : 1
    },
    {
    " ZipCode ":" 30001 ",
    " x ": 1
    }
    ],
    ]. version 4.4
    "id" : NumberLong("668860441858272439"),
    "ns" : "test.contacts"
    },
    "ok" : 1,
    "Operimation": TimeStamp (1586380205, 1),
    "$ clustertime": {
    "Clustertime": TimeStamp (1586380225, 2),
    11
    11
    111001612 "9.
    "Хэш": Bindata (0, "AI/JWSUVUSKMW8ID+A+AVVTQH9Y ="),
    "keyID": NumberLong ("6813364731999420435")
    6621999420435 ")
    662199420435")
    473199420435 ")
    473199420435")
    . курсор id и firstBatch документов.

    Начиная с версии 4.4, если операция с сегментированной коллекцией возвращает частичные результаты из-за недоступности запрошенного осколки, курсор документ включает в себя partialResultsReturned поле. Чтобы вернуть частичные результаты, а не ошибка из-за недоступности запрошенного осколки, команда find должна выполняться с allowPartialResults установлено значение правда . См. Разрешить партиалресултс.

    Если запрошенные осколки изначально доступны для найти команду , но один или несколько осколков становятся недоступен в последующих командах getMore , только команды getMore запускаются, когда запрошенный сегмент или осколки недоступны включают partialResultsReturned флаг на выходе.

    "ok"

    Указывает, успешно ли выполнена команда ( 1 ) или нет ( 0 ).

    В дополнение к вышеупомянутым найдите - специальные поля, db.runCommand() включает следующую информацию для наборы реплик и сегментированные кластеры:

    • $clusterTime

    • OperationTime

    Подробности см. в результатах db.runCommand().

    Поведение

    $regex Поиск запросов больше не игнорировать недопустимое регулярное выражение

    Начиная с MongoDB 5.1, недопустимо $regex options параметры больше не игнорируются. Это изменение делает $regex options больше соответствует использование $regex в команде aggregate и проекционные запросы.

    Сеансы

    Новое в версии 4.0 .

    Для курсоров, созданных внутри сеанса, нельзя вызывать getMore вне сеанса.

    Аналогично, для курсоров, созданных вне сеанса, нельзя вызывать getMore внутри сеанса.

    Тайм-аут простоя сеанса

    Драйверы MongoDB и mongosh связывать все операции с сеансом сервера, за исключением неподтвержденных операции записи. Для операций, явно не связанных с сессии (т.е. используя Mongo.startSession() ), драйверы MongoDB и mongosh создать неявный сеанс и связать его с операцией.

    Если сеанс бездействует более 30 минут, сервер MongoDB помечает этот сеанс как просроченный и может закрыть его в любое время. Когда Сервер MongoDB закрывает сеанс, а также убивает все незавершенные операции и открытые курсоры, связанные с сеансом. Этот включает курсоры, настроенные с помощью noCursorTimeout() или maxTimeMS() более 30 минут.

    Для операций, которые возвращают курсор, если курсор может быть бездействующим в течение более 30 минут, выполнить операцию в явном сеансе используя Mongo.startSession() и периодически обновлять сеанс с помощью команды refreshSessions . Видеть Тайм-аут простоя сеанса для получения дополнительной информации.

    Транзакции

    find можно использовать внутри многодокументных транзакций.

    • Для курсоров, созданных вне транзакции, нельзя вызывать getMore внутри транзакции.

    • Для курсоров, созданных в транзакции, нельзя вызывать getMore вне транзакции.

    Важный

    В большинстве случаев операция с несколькими документами требует больших затрат. стоимость производительности по сравнению с записью одного документа, и наличие многодокументных транзакций не должно замена эффективной схеме проектирования. Для многих сценариев денормализованная модель данных (встроенные документы и массивы) по-прежнему будет оптимальной для вашего данных и вариантов использования. То есть для многих сценариев моделирование ваших данных соответствующим образом сведет к минимуму потребность в многодокументном транзакции.

    Для дополнительных соображений по использованию транзакций (например, ограничение времени выполнения и ограничение размера оплога), см. также Производственные соображения.

    Отключение клиента

    Начиная с MongoDB 4.2, если клиент, выдавший , находит отключается до завершения операции, MongoDB отмечает , находит для завершения с помощью killOp .

    Stable API

    При использовании Stable API V1 следующие найти командные поля не поддерживаются:

    • awaitData

    • max

    • min

    • noCursorTimeout

    • oplogReplay

    • returnKey

    • showRecordId

    • tailable

    Индексные фильтры и сопоставления

    Начиная с MongoDB 6. 0, индексный фильтр использует сопоставление, ранее установленное с помощью планCacheSetFilter команда.

    Примеры

    Укажите сортировку и ограничение

    Следующая команда запускает поиск фильтрация команд по полю рейтинг и полю кухня . Команда включает проекцию , чтобы вернуть только следующие поля в соответствующих документах: _id , имя , рейтинг и адрес поля.

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

     0064 
    DB.RUNCOMMAND (
    {
    Найти: «Рестораны»,
    Фильтр: {rating: {$ Gte:
    :
    проекция: {имя: 1, рейтинг: 1, адрес: 1},
    сортировка: {имя: 1},
    ограничение: 5
    }
    )

    Переопределить уровень беспокойства о чтении по умолчанию

    используйте опцию readConcern .

    Следующая операция с набором реплик указывает на необходимость чтения «большинства» для чтения самой последней копии подтверждено, что данные были записаны на большинство узлов.

     
    db.runCommand(
    {
    find: "restaurants",
    filter: { rating: { $lt: 5 } },
    readConcern: { level: "majority" }
    }
    )

    Независимо от уровня считывания самые последние данные о node может не отражать самую последнюю версию данных в системе.

    Команда getMore использует уровень readConcern указано в исходном найти команду .

    readConcern может быть указан для метода mongosh db.collection.find() с использованием курсора .readConcern() method:

     
    db. restaurants.find( { rating: { $lt: 5 } } ).readConcern("большинство")

    Дополнительные сведения о доступных чтениях см. Читать Забота.

    Указать сопоставление

    Сопоставление позволяет пользователям указывать специфичные для языка правила для сравнения строк, такие как правила для регистр букв и знаки ударения.

    Следующая операция запускает поиск . команда с указанным параметром сортировки:

      ) 0063 
    db.runCommand(
    {
    find: "myColl",
    1 filter "status"cafe: 1}", ,
    сортировка: { категория: 1 },
    сопоставление: { язык: "fr", сила: 1 }
    }

    mongosh предоставляет cursor.collation() для указать параметры сортировки для db.collection.find() операция.

    Использовать переменные в

    let

    Новое в версии 5. 0 .

    Чтобы определить переменные, к которым можно получить доступ в другом месте команды, используйте пусть вариант.

    Для фильтрации результатов с использованием переменной необходимо получить доступ к переменной внутри оператора $expr .

    Создать коллекцию CakeFlavors :

      {_id: 2, 2,  {_id: 2, 2, 
    DB.CakeFlavors.InsertMany ([
    {_id: 1, аромат: «шоколад»,
    {_id: 2, 2, 2,
    {_id: 2, 2, 2,
    {_id: 2, 2, 2,
    { _id: 3, flavor: "вишня" }
    ] )

    В следующем примере определяется переменная targetFlavor в let использует переменную для получения вкуса шоколадного торта:

        
    "]}},
    Let: {TargetFlav:" шоколад "}
    })

    См.

    Также:

    Compatibility Compatibility

  • : ressindAndAndIndmodIndmodIndMODINDMODDIFINDMODINDMODDIFINDMODDIFINDMODINGINIT Примеры запросов

    В этой статье мы рассмотрим основы поиска MongoDB, метода, используемого для извлечения документа из коллекции MongoDB.

    Мы рассмотрим несколько примеров запросов, используя Studio 3T и набор данных Customers , который представляет собой полностью поддельный список клиентов.

    Метод find() в MongoDB выбирает документы в коллекции или представлении и возвращает курсор к выбранным документам. Имеет два параметра: запрос и проекция .

     db.collection.find(,) 
    • первый параметр query или filter определяет поиск возвращаются

    Для написания и создания запросов db.collection.find() мы будем использовать IntelliShell Studio 3T с автозавершением запросов в наших примерах.

    Если вы не знаете язык запросов MongoDB, вы все равно можете собрать find() запросы через визуальный конструктор запросов с помощью перетаскивания. Просто перетащите поля, укажите значение и нажмите "Выполнить".

    Если вы хорошо владеете SQL и хотите сэкономить время на наборе текста, в Studio 3T также есть SQL Query, который позволяет вам использовать SQL для запросов к MongoDB.

    Откройте Studio 3T и подключитесь к базе данных MongoDB.

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

    Затем выберите JSON в качестве формата импорта.

    Щелкните OK .

    Нажмите + , чтобы добавить исходные документы JSON, , чтобы удалить их, или значок буфера обмена, , чтобы вставить данные JSON из буфера обмена.

    Здесь мы добавим наш исходный документ JSON, Customers .

    Дважды щелкните ячейку, чтобы ввести целевую коллекцию. Мы называем наших клиентов . Обратите внимание на заглавную С!

    В столбце Режим вставки дважды щелкните ячейку, чтобы выбрать один из режимов вставки в раскрывающемся меню.

    Нажмите  Выполнить , чтобы запустить импорт. Вы должны увидеть новую коллекцию в дереве подключений слева.

    Теперь мы готовы опробовать примеры метода find() , которые можно вводить/вставлять и редактировать в IntelliShell.

    Давайте откроем IntelLIShell, щелкнув значок на панели инструментов.

    И попробуйте следующие запросы.

    Вернуть все документы в коллекции

     db.Customers.find()
    //возвращает все документы в коллекции 

    Если параметры запроса и проекции не указаны, метод find() возвращает все документы в коллекции.

    Вернуть документы, соответствующие заданным критериям запроса

     db.Customers.find({
       'Addresses.County': 'Норфолк'
    })
    //возвращает документы с адресом в графстве Норфолк 

    Этот запрос просто возвращает документы с адресом в графстве Норфолк. Имеется параметр фильтра, но проекция не указана, поэтому возвращается весь документ со всеми полями.

    Возвращать документы только с указанными полями (проекция)

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

     db.Customers.find({
       'Addresses.County': 'Норфолк'
    }, {
       '_id': 0,
       «Полное имя»: 1,
       «Адреса. 

    Клиент может использовать несколько адресов одновременно (рабочий, домашний и т. д.), и он может перемещаться, поэтому мы решили просто вернуть соответствующий адрес ( 'Addresses.$' ) вместе с именем покупатель ( «Полное имя» ). Для этого запроса это все данные, которые нам нужны, так зачем извлекать больше, чем необходимо?

    Возврат документов с несколькими критериями соответствия

    Что делать, если вы хотите провести поиск более чем в одном округе?

     db.Customers.find({
      'Адреса.Округ': {
        $in: ['Эссекс', 'Саффолк', 'Норфолк', 'Кембриджшир']
      }
    })
    //клиенты, чей адрес находится в Восточной Англии 

    Фильтр позволяет выбирать документы не только на равенство со значением. В этом случае мы перечислили несколько значений для проверки использования $in оператор запроса сравнения.

    Есть несколько других с довольно очевидными значениями, например, $eq (==), $gt (>), $lt (<), $gte (>=), $lte (<=), $ne (!=) и $nin (не в).

    Есть также ряд логических операторов. Существует множество других операторов запросов и проекций MongoDB, которые позволяют выполнять довольно сложные фильтры, но это уже другая тема!

    Использование методов курсора

    Метод find MongoDB на самом деле не возвращает данные, несмотря на то, что по умолчанию оболочка mongo выводит первые двадцать строк при выполнении метода find() .

    Это указатель на документы, которые возвращаются. Он содержит ссылку на документы, соответствующие критериям запроса, которые вы передаете методу find() . Это позволяет указать, какую обработку вы хотите использовать для возвращаемых данных.

    Существует несколько таких методов курсора.

    count()

    Метод курсора count()  удобен для возврата количества документов, соответствующих критериям.

    Например, в нашей базе данных клиентов:

     db.Customers.find({'Addresses.County': 'Norfolk'}).count()
     

    показывает, сколько клиентов имеют адреса в округе Норфолк.

    limit()

    Метод limit()  cursor ограничивает число в результате значением, которое вы передаете, так что

     db.Customers.find({'Addresses.County': 'Norfolk'}).limit(1) 

    возвращает только первого клиента.

    skip()

    Существует также метод skip() , позволяющий легко реализовать в приложении окно с прокруткой.

     db.Customers.find({
      'Addresses.County': 'Норфолк'
    }, {
      '_id': 0,
      «Полное имя»: 1
    }).Сортировать({
      'Имя.Фамилия': 1
    }).skip(10).limit(20) 

    Как вы уже заметили, вы можете сложить эти методы и использовать  pretty()

     db.Customers.find({'Addresses.County': 'Norfolk'}).limit(1).pretty() 

    , чтобы вернуть документ в удобном для чтения формате.

    Методы skip() и limit() не имеют большого смысла без метода sort() , потому что в противном случае результаты лучше всего считать неупорядоченными.

    This entry was posted in Семантическое ядро