MongoCollection
PHP Manual

MongoCollection::findOne

(PECL mongo >=0.9.0)

MongoCollection::findOneRealiza una consulta a esta colección, devolviendo sólo un elemento

Descripción

public array MongoCollection::findOne ([ array $query = array() [, array $fields = array() ]] )

A diferencia de MongoCollection::find(), este método solo devolverá el primer resultado del conjunto de resultados, y no una instancia de MongoCursor sobre la que se pueda iterar.

Parámetros

query

Los campos en los que buscar. El lenguaje de consultas de MongoDB es bastante extenso. El controlador de PHP, en la mayoría de los casos, pasará la consulta directamente al servidor, por lo que es una buena idea leer el manual de MongoDB sobre » find.

Advertencia

Asegúrese de que en todos los operadores de consulta especiales (los que empiezan con $) se usen comillas simples, ya que así PHP no intentará reemplazar "$exists" con el valor de la variable $exists.

fields

Campos del resultado que se devolverán. El array está en el formato array('nombrecampo' => true, 'nombrecampo2' => true). El campo _id se devuelve siempre.

Valores devueltos

Devuelve el registro que coincide con la búsqueda, o NULL.

Errores/Excepciones

Lanza una MongoConnectionException si no se puede acceder a la base de datos.

Ejemplos

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

$artículos 
$mongo->mi_bd->artículos;

$artículo $artículos->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
)

Observe que, incluso si el documento no contiene un campo nombreusuario, se limitan los resultados para que únicamente contengan el campo password.

Ver también


MongoCollection
PHP Manual