(PECL mongo >=0.9.0)
MongoCollection::findOne — Realiza una consulta a esta colección, devolviendo sólo un elemento
$query
= array()
[, array $fields
= array()
[, array $options
= array()
]]] ) : arrayA diferencia de MongoCollection::find(), este método solamente devolverá el primer resultado del conjunto de resultados, y no una instancia de MongoCursor que se pueda recorrer.
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.
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.
options
Este parámetro es un array asociativo de la forma array("nombre" => <valor>, ...). Las opciones disponibles actualmente son:
"maxTimeMS"
Especifica un tiempo límite acumulativo en milisegundos para procesar la operación en el servdiro (no incluye el tiempo improductivo). Si la operación no la completa el servidor dentro del período de tiempo límite, se lanzará una MongoExecutionTimeoutException.
Devuelve el registro que coincide con la búsqueda, o NULL
.
Lanza una MongoConnectionException si no se puede acceder a la base de datos.
Versión | Descripción |
---|---|
1.5.0 |
Se añadió el parámetro opcional options .
|
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('contraseña'));
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 el campo "nombreusuario", se limitan los resultados para que únicamente contengan el campo "contraseña".