MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでレコード数(ドキュメント数)を取得する方法

MongoDBでコレクション内のレコード数(ドキュメント数)を取得するには、count()メソッドを使用します。この記事では、実際にコレクションを作成し、レコード数を取得する手順を解説します。

1. サンプルコレクションの作成

まず、insertOne()メソッドを使って、ドキュメントを含むコレクションを作成しましょう。

> db.demo697.insertOne({Name:"Chris",Age:21});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5ea6d7d1551299a9f98c9395")
}
> db.demo697.insertOne({Name:"Bob",Age:23});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5ea6d7d8551299a9f98c9396")
}
> db.demo697.insertOne({Name:"David",Age:24});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5ea6d7dd551299a9f98c9397")
}

上記のコマンドにより、「demo697」というコレクションに3件のドキュメントが登録されました。

2. 登録されたドキュメントの確認

find()メソッドを使用すると、コレクション内のすべてのドキュメントを表示できます。

> db.demo697.find();

実行すると、以下のような出力が得られます。

{ "_id" : ObjectId("5ea6d7d1551299a9f98c9395"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5ea6d7d8551299a9f98c9396"), "Name" : "Bob", "Age" : 23 }
{ "_id" : ObjectId("5ea6d7dd551299a9f98c9397"), "Name" : "David", "Age" : 24 }

3. レコード数を取得するクエリ

続いて、コレクション内のレコード数を取得するクエリを見ていきましょう。count()メソッドの結果を変数に格納し、print()で出力します。

> var numberOfRecords= db.demo697.count();
> print("Number of records=",numberOfRecords);

実行結果は以下の通りです。

Number of records= 3

これで、コレクション「demo697」には3件のレコードが存在することが確認できました。

補足:新しいバージョンでの注意点

MongoDBの新しいバージョンでは、count()メソッドは非推奨(deprecated)となっています。正確なドキュメント数を取得したい場合は、代わりにcountDocuments()メソッドを使用することが推奨されています。

> db.demo697.countDocuments({});

countDocuments()はフィルタ条件を引数に取ることができ、条件に一致するドキュメントのみの件数を正確にカウントできるため、実務ではこちらを使うのが良いでしょう。

  1. 【MongoDB】日付範囲内のレコードを取得するクエリの書き方

    MongoDBで特定の日付範囲内のレコードを取得するには、比較演算子「$gt」(より大きい)と「$lt」(より小さい)を組み合わせて使用します。この記事では、実際のコード例を通じて、日付範囲検索の基本的な方法をわかりやすく解説します。1. サンプルコレクションの作成まずは、日付フィールドを持つドキュメントを挿入して、テスト用のコレクションを作成しましょう。> db.demo60.insertOne({"ArrivalDate":new ISODate("2019-01-11 12:30:10")}); {    &nb

  2. MongoDBで生年月日を年齢に変換する方法

    MongoDBでは、集計パイプライン(aggregate)を活用することで、保存されている生年月日(DateOfBirth)のデータから現在の年齢を簡単に算出できます。この記事では、実際のコード例を使いながらその手順をわかりやすく解説します。1. コレクションにドキュメントを挿入するまずは、生年月日を含むドキュメントを持つコレクションを作成します。以下のように insertOne() メソッドを使用します。> db.demo754.insertOne({DateOfBirth:new Date(2000-05-03)}); { acknowledged : true, ins