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

MongoDBで名前「Chris」のドキュメントサイズを取得する方法

MongoDBで特定条件のドキュメントサイズを調べるには

MongoDBでは、Object.bsonsize()メソッドを使うことで、ドキュメントのBSONサイズ(バイト数)を簡単に確認できます。この記事では、名前が「Chris」であるドキュメントのサイズを合計して求める具体的な手順を解説します。

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

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

> db.demo250.insertOne({"Name":"Chris"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e46bd501627c0c63e7dba70")
}
> db.demo250.insertOne({"Name":"Bob"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e46bd531627c0c63e7dba71")
}
> db.demo250.insertOne({"Name":"David"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e46bd561627c0c63e7dba72")
}
> db.demo250.insertOne({"Name":"Chris"});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5e46bd5b1627c0c63e7dba73")
}

コレクション内の全ドキュメントを表示する

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

> db.demo250.find();

上記のコマンドを実行すると、以下のような出力が得られます。

{ "_id" : ObjectId("5e46bd501627c0c63e7dba70"), "Name" : "Chris" }
{ "_id" : ObjectId("5e46bd531627c0c63e7dba71"), "Name" : "Bob" }
{ "_id" : ObjectId("5e46bd561627c0c63e7dba72"), "Name" : "David" }
{ "_id" : ObjectId("5e46bd5b1627c0c63e7dba73"), "Name" : "Chris" }

名前「Chris」のドキュメントサイズを合計するクエリ

続いて、forEach()ループとObject.bsonsize()を組み合わせて、名前が「Chris」のドキュメントサイズを合計するクエリを見ていきましょう。

> var t = 0;
> db.demo250.find({Name:"Chris"}).forEach(function(doc) {
...   var s = Object.bsonsize(doc);
...   t += s;
... })
> print(t);

このクエリを実行すると、結果がバイト単位で出力されます。

76

この仕組みはシンプルです。find({Name:"Chris"})で条件に一致するドキュメントを抽出し、各ドキュメントに対してObject.bsonsize(doc)でサイズを取得、それを変数tに加算しています。最後にprint(t)で合計値を出力することで、「Chris」という名前のドキュメント全体のサイズである76バイトという結果が得られます。

なお、ここで取得できるのはドキュメント単位の論理的なBSONサイズです。実際のディスク使用量やストレージ上の占有サイズとは異なるため、目的に応じて使い分けることが重要です。

  1. MongoDBで_idを指定してコレクション内のドキュメントを更新する方法

    MongoDBでは、_idを指定して特定のドキュメントを更新する際に、$set演算子を使用します。_idは各ドキュメントの一意な識別子であるため、これを条件にすることで目的のドキュメントだけを正確に更新できます。この記事では、実際にコレクションを作成し、_idをキーにしてドキュメントを更新する手順を順番に解説します。1. コレクションの作成とドキュメントの挿入まず、insertOne()メソッドを使ってサンプルのコレクションにドキュメントを挿入します。db.demo741.insertOne({SubjectName:MySQL}); { acknowledged : true,

  2. MongoDBのドキュメントの最大サイズはどれくらい?16MB制限の基本を解説

    MongoDBのドキュメントとはMongoDBにおける「ドキュメント」とは、コレクション内に格納される1件のレコードのことです。ドキュメントはJSONに似たBSON形式で表現され、波括弧({})で囲まれたデータ構造を持ちます。重要なポイントとして、各ドキュメントには16MBというサイズ上限が設けられています。この制限を超えるサイズのドキュメントを挿入しようとすると、エラーが発生します。なお、画像や動画などの大きなバイナリデータを扱いたい場合は、GridFSという仕組みを利用することで、16MBを超えるデータも保存可能です。ドキュメントを含むコレクションを作成するそれでは、実際にinsertOn