Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver Rust
/

Contagem de documentos

Você pode contar o número de documento em uma collection chamando um dos seguintes métodos em uma instância Collection :

  • count_documents(): conta o número de documentos que correspondem a um filtro de query. Para saber mais sobre como criar filtros de query, consulte o guia Especificar uma query do.

  • estimated_document_count(): estima o número total de documentos em uma coleção usando metadados de coleção.

Cada método retorna a contagem como uma instância u64 .

Observação

Se você não passar um filtro para o método count_documents() , o MongoDB contará o número total de documentos na coleção.

Este exemplo conta documento na collection restaurants do reconhecimento de data center sample_restaurants .

O código a seguir primeiro usa o método estimated_document_count() para contar o número total de documento na collection. Em seguida, o exemplo utiliza o método count_documents() para contar o número de documentos que correspondem a um filtro de query. O filtro corresponde a documentos nos quais o valor do campo name inclui a string "Sunset":

Selecione a aba Asynchronous ou Synchronous para ver o código correspondente para cada tempo de execução:

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

Voltar

Excluir vários