Docs Menu
Docs Home
/ / /
Rust ドライバー
/

ドキュメントをカウント

Collectionインスタンスで次のいずれかのメソッドを呼び出すと、コレクション内のドキュメント数をカウントできます。

  • count_documents() : は、クエリフィルターに一致するドキュメントの数をカウントします。クエリフィルターの作成の詳細については、「 クエリの指定 」ガイドを参照してください。

  • Estimated_document_count() : コレクション メタデータを使用して、コレクション内のドキュメントの合計数を推定します。

各メソッドはカウントをu64インスタンスとして返します。

注意

count_documents()メソッドにフィルターを渡さない場合、MongoDB はコレクション内のドキュメントの総数をカウントします。

この例では、 sample_restaurantsデータベースのrestaurantsコレクション内のドキュメントをカウントします。

次のコードでは、まずestimated_document_count()メソッドを使用して、コレクション内のドキュメントの合計数をカウントします。 次に、この例ではcount_documents()メソッドを使用して、クエリフィルターに一致するドキュメントの数をカウントします。 フィルターは、 nameフィールドの値に string "Sunset"が含まれるドキュメントと一致します。

AsynchronousSynchronous各実行時に対応するコードを表示するには、 タブまたは タブを選択します。

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().await?;
println!("Number of documents: {}", ct);
let ct = my_coll.count_documents(doc! { "name": doc! { "$regex": "Sunset" } }).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().run()?;
println!("Number of documents: {}", ct);
let ct = my_coll
.count_documents(doc! { "name": doc! { "$regex": "Sunset" } })
.run()?;
println!("Number of matching documents: {}", ct);
Ok(())
}
// Your values might differ
Number of documents: 25216
Number of matching documents: 10

戻る

複数削除