MongoCollection::findOne
(PECL mongo >=0.9.0)
MongoCollection::findOne — Запрашивает коллекцию, возвращая единственный элемент
Описание
$query
= array()
, array $fields
= array()
, array $options
= array()
) : arrayВ отличие от MongoCollection::find(), этот метод будет возвращать только первый результат из набора результатов, а не MongoCursor, который можно перебирать.
Список параметров
-
query
-
Поля для поиска. Язык запросов MongoDB довольно обширный. Драйвер PHP почти во всех случаях передает запрос напрямую на сервер, поэтому чтение основных документов MongoDB на » find - хорошая идея.
ВниманиеПожалуйста, убедитесь, что для всех специальных операторов запросов (начинающихся с
$
) вы используете одинарные кавычки, чтобы PHP не пытался заменить"$exists"
значением переменной$exists
. -
fields
-
Поля результатов для возврата. Массив находится в формате
array('fieldname' => true, 'fieldname2' => true)
. Поле_id
всегда возвращается. -
options
-
Этот параметр является ассоциативным массивом массива формы
array("name" => <value>, ...)
. В настоящее время поддерживаются следующие варианты:"maxTimeMS"
Указывает суммарный лимит времени в миллисекундах на обработку операции (не включая время простоя) на сервере. Если операция на стороне сервера не завершилась за это время, то вызывается исключение MongoExecutionTimeoutException.
Возвращаемые значения
Возвращает запись, соответствующую запросу или null
.
Ошибки
Выдает исключение MongoConnectionException, если он не может подключиться к базе данных.
Список изменений
Версия | Описание |
---|---|
PECL mongo 1.5.0 |
Добавлен необязательный параметр options .
|
Примеры
Пример #1 MongoCollection::findOne() документ по его идентификатору.
Этот пример демонстрирует, как найти один документ в коллекции по его идентификатору.
<?php
$articles = $mongo->my_db->articles;
$article = $articles->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));
?>
Пример #2 MongoCollection::findOne() документ по какому-либо условию.
Этот пример демонстрирует, как найти один документ в коллекции по некоторым условиям и ограничению возвращаемых полей.
<?php
$users = $mongo->my_db->users;
$user = $users->findOne(array('username' => 'jwage'), array('password'));
print_r($user);
?>
Результатом выполнения данного примера будет что-то подобное:
Array ( [_id] => MongoId Object ( ) [password] => test )
Обратите внимание, что, хотя в документе есть поле username, мы ограничиваем результаты только полем password.
Смотрите также
- MongoCollection::find() - Запрашивает коллекцию, возвращая MongoCursor для набора результатов
- MongoCollection::insert() - Вставляет документ в коллекцию
- MongoDB основные документы по » find.