Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Contabilizar documentos

Puedes contar el número de documentos en una colección llamando a uno de los siguientes métodos en un Collection instancia:

  • count_documents(): cuenta el número de documentos que coinciden con un filtro de query. Para obtener más información sobre la creación de filtros de query, consulta el Guía 'Especificar una query' .

  • estimated_document_count(): estima el número total de documentos en una colección mediante el uso de metadatos de la colección.

Cada método devuelve el conteo como una instancia de u64.

Nota

Si no pasas un filtro al método count_documents(), MongoDB cuenta el número total de documentos en la colección.

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

El siguiente código primero utiliza el método estimated_document_count() para contar el número total de documentos en la colección. Luego, el ejemplo utiliza el método count_documents() para contar el número de documentos que coinciden con un filtro de query. El filtro coincide con los documentos en los que el valor del campo name incluye la string "Sunset":

Selecciona 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