Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Encuentra un documento

Puedes recuperar un solo documento de una colección llamando al método find_one() en una instancia de Collection.

Pasa un filtro de query al método find_one() para devolver un documento en la colección que coincida con el filtro. Si varios documentos coinciden con el filtro de query, este método devuelve el primer documento coincidente según su orden natural en la base de datos o según el orden de clasificación especificado en una instancia de FindOneOptions.

El método find_one() devuelve un tipo Option<T>, donde T es el tipo con el que parametrizaste tu instancia de Collection.

Para obtener más información sobre cómo recuperar documentos, consulta la guía Recuperar datos.

Este ejemplo recupera un documento que coincide con un filtro de query de la colección restaurants en la base de datos sample_restaurants. El ejemplo rellena una estructura Restaurant con datos del documento recuperado.

Este ejemplo utiliza un filtro de query que coincide con los documentos en los que el valor del campo name es "Tompkins Square Bagels". MongoDB recupera el primer documento que coincide con el filtro de query.

Selecciona la pestaña Asynchronous o Synchronous para ver el código correspondiente para cada runtime:

use mongodb::{
bson::doc,
Client,
Collection
};
use serde::{ Deserialize, Serialize };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
name: String,
cuisine: String,
}
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri).await?;
let my_coll: Collection<Restaurant> = client
.database("sample_restaurants")
.collection("restaurants");
let result = my_coll.find_one(
doc! { "name": "Tompkins Square Bagels" },
None
).await?;
println!("{:#?}", result);
Ok(())
}
Some(
Restaurant {
name: "Tompkins Square Bagels",
cuisine: "American",
},
)
use mongodb::{
bson::doc,
sync::{Client, Collection}
};
use serde::{ Deserialize, Serialize };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
name: String,
cuisine: String,
}
fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri)?;
let my_coll: Collection<Restaurant> = client
.database("sample_restaurants")
.collection("restaurants");
let result = my_coll.find_one(
doc! { "name": "Tompkins Square Bagels" },
None
)?;
println!("{:#?}", result);
Ok(())
}
Some(
Restaurant {
name: "Tompkins Square Bagels",
cuisine: "American",
},
)