(PECL mongo >=0.9.0)
MongoCollection::findOne — Realiza una consulta a esta colección, devolviendo sólo un elemento
$query
= array()
[, array $fields
= array()
]] )A diferencia de MongoCollection::find(), este método solo devolverá el primer resultado del juego de resultados, y no una instancia de MongoCursor que se pueda iterar.
query
Campos en los que buscar. El lenguaje de consultas de MongoDB es muy ampliable. El controlador de PHP intentará, en casi cualquier caso, pasar la consulta directa al servidor, por lo que recomendamos consultar la documentación general de MongoDB sobre » find.
Por favor, asegúrese de que utiliza comillas simples en todos los operadores especiales de consulta (los que comienzan por $) para evitar que PHP intente reemplacer "$exists" con el valor de la variable $exists.
fields
Campos del resultado que se devolverán. El array debe estar en formato array('fieldname' => true, 'fieldname2' => true). Siempre se devuelve el campo _id.
Devuelve el registro que coincide con la búsqueda, o NULL
.
Si no se pudiera acceder a la base de datos, lanzaría una excepción de tipo MongoConnectionException.
Ejemplo #1 Ejemplo de MongoCollection::findOne() buscando por id.
Este ejemplo muestra cómo buscar un documento en una colección a partir de su id.
<?php
$articulos = $mongo->mi_bd->articulos;
$articulo = $articulos->findOne(array('_id' => new MongoId('47cc67093475061e3d9536d2')));
?>
Ejemplo #2 Ejemplo de MongoCollection::findOne() a partir de una condición.
Este ejemplo muestra como buscar un documento en una colección a partir de una condición, limitando los campos devueltos.
<?php
$usuarios = $mongo->mi_bd->usuarios;
$usuario = $usuarios->findOne(array('nombreusuario' => 'jwage'), array('password'));
print_r($usuario);
?>
El resultado del ejemplo sería algo similar a:
Array ( [_id] => MongoId Object ( ) [password] => test )
Fíjese que, incluso si el documento no contiene un campo nombreusuario, hemos limitado los resultados para que únicamente contengan el campo password.