Содержание
Найти запрос по ИД | Microsoft Learn
Twitter
LinkedIn
Facebook
Адрес электронной почты
-
Статья -
- Чтение занимает 2 мин
-
Описание API
Извлекает конкретный билет по его идентификатору.
Предварительные требования
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения | Разрешения |
---|---|
Delegated | Неприменимо |
Application | MmdSupport.ReadWrite |
HTTP-запрос
GET https://mmdls.microsoft.com/support/odata/v1/tickets('TicketId')
Заголовок | Значение |
---|---|
Авторизация | Носитель {token} (обязательный) |
Accept | application/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. Некоторые команды доступны только на одной панели. Многие из этих команд также доступны на вкладке «Запрос контекста» на ленте. Все запросы в книге отображаются и сортируются по дате и времени последнего изменения, начиная с последнего.
-
Выполните одно из следующих действий:
в Excel выберите запросы> данных & подключения> запросы.
В разделе Редактор Power Query Выбор данных> получить > запуска Редактор Power Query и просмотреть область запросов слева.
-
Выберите команду управления запросом:
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 откроется диалоговое окно «Параметры запроса».
Вы можете включить или отключить отображение всплывающего элемента запроса при наведении указателя мыши на имя запроса на вкладке «Запрос» на панели «Запросы & подключения». Этот параметр управляет отображением всплывающего элемента только путем наведения указателя мыши. Вы по-прежнему можете отобразить всплывающее окно запроса, щелкнув правой кнопкой мыши имя запроса, а затем выбрав команду «Показать».
-
Выберите параметры > «Получение > данных».
-
Слева в разделе GLOBAL выберите » Общие».
-
Справа в разделе » Предварительный просмотр запроса» снимите флажок рядом с кнопкой «Показать окно при наведении указателя мыши». Действие по умолчанию — отображение всплывающего меню при наведении указателя мыши.
Excel для Интернета включает Power Query (также называемую get & Transform) для повышения производительности при работе с импортируемыми источниками данных. Запросы и связанные сведения можно просмотреть в области задач «Запросы».
Примечание: Следите за дальнейшими объявлениями об улучшениях Excel для Интернета и Power Query интеграции.
Запросы и связанные сведения можно просмотреть на панели запросов.
-
Убедитесь, что вы в режиме правки ( выберите «Просмотр > редактирование»).
org/ListItem»>
Выберите запросы > данных.
Результат
Excel отображает область задач » Запросы» и все запросы в текущей книге, а также сведения о запросах, такие как количество строк, дата последнего обновления, расположение и состояние загрузки. Если запрос загружается в модель данных, а не в сетку, в Excel отображается значение «Только подключение».
Вы можете выполнять различные задачи группирования, чтобы лучше упорядочить запросы.
-
Убедитесь, что вы в режиме правки ( выберите «Просмотр > редактирование»).
-
Выполните одно или несколько из указанных ниже действий.
Создание группы-
В правом верхнем углу области » Запросы» выберите «Дополнительные параметры» > «Создать группу».
-
Введите имя (при необходимости описание) и нажмите кнопку » Сохранить».
Перемещение запроса или группы в другую группу-
Рядом с запросом или именем группы выберите «Дополнительные параметры» >«Переместить в группу».
-
Выберите группу, в которую нужно переместить, а затем нажмите кнопку «Сохранить».
Перемещение группы на верхний уровень
Развертывание или свертывание групп- org/ListItem»>
Чтобы развернуть или свернуть все группы, в правом верхнем углу области «Запросы» выберите «Дополнительные параметры» > «Развернуть все» или «Свернуть все».
-
-
Чтобы развернуть или свернуть определенную группу, щелкните стрелку рядом с ее именем.
-
Рядом с именем группы выберите » Дополнительные параметры» >«Обновить».
Примечание Обновление работает только для поддерживаемых источников данных. Дополнительные сведения см. в Power Query источниках данных в версиях Excel. -
Рядом с именем группы выберите » Дополнительные параметры»… > переименовать.
-
Введите новое имя и нажмите клавишу RETURN.
-
Рядом с именем группы выберите «Дополнительные параметры… >«.
-
Переименуйте группу или измените ее описание, а затем нажмите кнопку «Сохранить».
org/ListItem»>
Выберите запросы > данных.
Обновление всех запросов в группе
Разгруппировка запросов в группе
Переименование группы
Удаление группы
Изменение свойств группы
Совет Чтобы просмотреть описание группы, наведите на нее указатель мыши.
См. также
Справка по 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 .
DB.RUNCOMMAND ( { Найти: , . : <документ>, подсказка: <документ или строка>, skip: , limit: , batchSize: , singleBatch: , comment: , maxTimeMS: , readConcern: , max: , min: 0063 returnKey: , showRecordId: , tailable: , oplogReplay: , noCursorTimeout: , awaitData: , allowPartialResults: , сопоставление: , AllowDiskuse: , Let: <Документ> // Добавлен в MongoDB 5. 0 } ) ). Филд
Тип
Описание
202020111106097
20202011110997
2020111119
20201999997
20002 строка
Имя коллекции или представления для запроса.
фильтр
документ
Дополнительно. Предикат запроса. Если не указано, то все документы в коллекция будет соответствовать предикату.
документ
Дополнительно. Спецификация сортировки для упорядочения результатов.
проекция
документ
Дополнительно. Спецификация проекции на определить, какие поля включить в возвращаемые документы. Видеть Проекция и проекционные операторы.
find()
операции над представлениями не поддерживаются следующая проекция операторы:-
$
-
$elemMatch
-
$slice
1
30002
$meta
подсказка
строка или документ
2 необязательно. Спецификация индекса. Укажите либо имя индекса в качестве строка или шаблон ключа индекса. Если указано, то система запросов будут рассматривать только планы, использующие указанный индекс.
Начиная с MongoDB 4.2, за следующим исключением:
подсказка
требуется, если команда включаетмин
и/илимакс.
поля;подсказка
не требуется сmin
и/илиmax
если фильтр_id
{ _id: <значение> }
.пропустить
Положительное целое число
Необязательно. Количество документов, которые необходимо пропустить. По умолчанию 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 .
пусть
документ
Дополнительно.
Указывает документ со списком переменных. Это позволяет вам улучшить читаемость команды, отделив переменные от запроса текст.
Синтаксис документа:
{ : , ..., : } 1111414114 Чтобы получить доступ к значению переменной в команде, используйте двойной префикс знака доллара (
$$
) вместе с именем вашей переменной в форме$$<имя_переменной>
. Например:$$targetTotal
.Чтобы использовать переменную для фильтрации результатов, вы должны получить доступ к переменной внутри оператора
$expr
.Полный пример использования
let
и переменных см. Используйте переменные впусть
.Новое в версии 5.0 .
Вывод
Команда возвращает документ, содержащий информацию о курсоре, включая идентификатор курсора и первую партию документов. Например, следующий документ возвращается при запуске против сегментированного коллекция:
{ "cursor" : { "firstBatch" : [ { "_id" : ObjectId("5e8e2ca217b5324fa9847435"), " почтовый индекс» : «20001», «x» : 1 }, { 7"54efa 92062 "_id" : объект847436 "), " 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 62 ": 11 62": 111001612 " 9. 9. 62" 9. 61621212225, 2). "Хэш": 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 документов.DB.RUNCOMMAND ( { Найти: «Рестораны», Фильтр: {rating: {$ Gte: : проекция: {имя: 1, рейтинг: 1, адрес: 1}, сортировка: {имя: 1}, ограничение: 5 } 0064) Переопределить уровень беспокойства о чтении по умолчанию
используйте опцию
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("большинство") Дополнительные сведения о доступных чтениях см. Читать Забота.
Указать сопоставление
Сопоставление позволяет пользователям указывать специфичные для языка правила для сравнения строк, такие как правила для регистр букв и знаки ударения.
Следующая операция запускает поиск
db.runCommand( { find: "myColl", 1 filter "status"cafe: 1}", , сортировка: { категория: 1 }, сопоставление: { язык: "fr", сила: 1 } } ) 0063mongosh
предоставляетcursor.collation()
для указать параметры сортировки дляdb.collection.find()
операция.Использовать переменные в
let
Новое в версии 5. 0 .
Чтобы определить переменные, к которым можно получить доступ в другом месте команды, используйте пусть вариант.
Для фильтрации результатов с использованием переменной необходимо получить доступ к переменной внутри оператора
$expr
.Создать коллекцию
CakeFlavors
:DB.CakeFlavors.InsertMany ([ {_id: 1, аромат: «шоколад», {_id: 2, 2, 2, {_id: 2, 2, 2, {_id: 2, 2, 2, {_id: 2, 2, {_id: 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() , потому что в противном случае результаты лучше всего считать неупорядоченными.
- 9