(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, если он не может подключиться к базе данных.
Версия | Описание |
---|---|
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.