結果の数をカウントする
このステップでは、MongoDB で異なる方法を使ってドキュメントの数をカウントする方法を学びます。カウントは、データセットのサイズを把握し、結果をフィルタリングするための重要な操作です。
bookstore
データベースを引き続き使用しましょう。
use bookstore
MongoDB はドキュメントの数をカウントするための複数の方法を提供しています。主な 3 つの方法を見ていきましょう。
- 基本的なドキュメントのカウント:
// 本の総数をカウントする
db.books.countDocuments();
このメソッドは books
コレクション内のドキュメントの総数を返します。このコマンドを実行すると、データベース内の本の総数が表示されます。
- フィルタを使ったカウント:
// 40 ドル以上の価格の本をカウントする
db.books.countDocuments({ price: { $gt: 40 } });
ここで $gt
は「より大きい」を意味します。このクエリは 40 ドル以上の価格の本の数をカウントします。特定の条件に一致するドキュメントの数を取得することができます。
- 複数の条件を使ったフィルタリング:
// 350 ページ以上で 40 ドル以上の価格の本をカウントする
db.books.countDocuments({
pages: { $gt: 350 },
price: { $gt: 40 }
});
このより複雑なクエリは、特定の要件を満たすドキュメントの数をカウントするために複数の条件をどのように組み合わせるかを示しています。
もっと複雑なカウントを示すためにいくつかの本を追加しましょう。
db.books.insertMany([
{ title: "Advanced Algorithms", pages: 500, price: 49.99 },
{ title: "Cloud Computing", pages: 400, price: 45.99 },
{ title: "Network Security", pages: 350, price: 39.99 }
]);
では、もう少し高度なカウントのシナリオを試してみましょう。
// 300 ページ以上 450 ページ以下の本をカウントする
db.books.countDocuments({
pages: {
$gte: 300,
$lte: 450
}
});
このクエリは、特定のページ数の範囲内の本の数をカウントするために $gte
(以上)と $lte
(以下)を使っています。数値の範囲に基づいてドキュメントをフィルタリングしてカウントする強力な方法です。