Docs Menu
Docs Home
/ /

Contabilizar documentos

Puede contar la cantidad de documentos en una colección llamando a uno de los siguientes métodos en un Collection instancia:

  • contar_documentos(): cuenta el número de documentos que coinciden con un filtro de consulta. Para obtener más información sobre la creación de filtros de consulta, consulte Especifique una guía de consulta.

  • estimate_document_count(): estima el número total de documentos en una colección utilizando metadatos de la colección.

Cada método devuelve el recuento como una instancia u64.

Nota

Si no pasa un filtro al método count_documents(), MongoDB cuenta la cantidad total de documentos en la colección.

Este ejemplo cuenta los documentos en la colección restaurants de la base de datos sample_restaurants.

El siguiente código utiliza primero el método estimated_document_count() para contar el número total de documentos de la colección. A continuación, el ejemplo utiliza el método count_documents() para contar el número de documentos que coinciden con un filtro de consulta. El filtro encuentra documentos cuyo valor del campo name incluye la cadena "Sunset":

Seleccione el Asynchronous o la pestaña Synchronous para ver el código correspondiente para cada entorno de ejecución:

use std::env;
use mongodb::{ bson::doc, Client, Collection };
use bson::Document;
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri).await?;
let my_coll: Collection<Document> = client
.database("sample_restaurants")
.collection("restaurants");
let ct = my_coll.estimated_document_count(None).await?;
println!("Number of documents: {}", ct);
let ct = my_coll.count_documents(doc! { "name": doc! { "$regex": "Sunset" } }, None).await?;
println!("Number of matching documents: {}", ct);
Ok(())
}
// Your values might differ
Number of documents: 25216
Number of matching documents: 10
use std::env;
use mongodb::{
bson::{ Document, doc },
sync::{ Client, Collection }
};
fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri)?;
let my_coll: Collection<Document> = client
.database("sample_restaurants")
.collection("restaurants");
let ct = my_coll.estimated_document_count(None)?;
println!("Number of documents: {}", ct);
let ct = my_coll.count_documents(doc! { "name": doc! { "$regex": "Sunset" } }, None)?;
println!("Number of matching documents: {}", ct);
Ok(())
}
// Your values might differ
Number of documents: 25216
Number of matching documents: 10

Volver

Borrar múltiples