MongoDBでフィールドが指定した整数値と一致するドキュメントを検索する方法
MongoDBコレクションの中から、特定のフィールドが指定した整数値と一致するドキュメントを検索するには、find()メソッドを使用します。この記事では、サンプルコレクションの作成から検索クエリの実行まで、具体的なコード例を交えて手順を解説します。
ドキュメントを含むコレクションを作成する
まず、insertOne()メソッドを使って、サンプルデータを登録したコレクションを作成します。
> db.demo472.insertOne({"Project_Id":-101,"ProjectName":"Online Customer Tracking"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e80586cb0f3fa88e227907a")
}
> db.demo472.insertOne({"Project_Id":101,"ProjectName":"Online Banking System"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e805884b0f3fa88e227907b")
}
> db.demo472.insertOne({"Project_Id":102,"ProjectName":"Online Library System"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e805893b0f3fa88e227907c")
}
コレクション内のすべてのドキュメントを表示する
find()メソッドを引数なしで実行すると、コレクション内のすべてのドキュメントを確認できます。
> db.demo472.find();
上記のコマンドを実行すると、次のような出力が得られます。
{ "_id" : ObjectId("5e80586cb0f3fa88e227907a"), "Project_Id" : -101, "ProjectName" : "Online Customer Tracking" }
{ "_id" : ObjectId("5e805884b0f3fa88e227907b"), "Project_Id" : 101, "ProjectName" : "Online Banking System" }
{ "_id" : ObjectId("5e805893b0f3fa88e227907c"), "Project_Id" : 102, "ProjectName" : "Online Library System" }
指定した整数値と一致するドキュメントを検索するクエリ
以下は、「Project_Id」フィールドが指定した整数値(-101)と一致するドキュメントを検索するクエリです。
> db.getCollection('demo472').find({"Project_Id":-101});
実行結果は次のとおりです。
{ "_id" : ObjectId("5e80586cb0f3fa88e227907a"), "Project_Id" : -101, "ProjectName" : "Online Customer Tracking" }
ポイント
find()メソッドの引数に検索条件をオブジェクト形式で渡すことで、条件に一致するドキュメントだけを抽出できます。整数値だけでなく、文字列や日付など、さまざまなデータ型の値に対しても同じ方法で検索が可能です。また、db.getCollection()の代わりにdb.demo472.find()のように直接コレクション名を指定しても、同じ結果が得られます。
-
【MongoDB】idがドキュメント内の配列フィールドの値と一致する場合に除外するクエリの書き方
MongoDBでは、ドキュメントの id フィールドの値が、同一ドキュメント内の配列型フィールド(例: subjectid)に含まれている場合に、そのドキュメントを検索結果から除外したいケースがあります。このような条件を実現するには、 $expr 演算子と組み合わせて $not および $in を使用します。本記事では、サンプルコレクションの作成からクエリの実行、出力結果の確認までを順を追って解説します。 サンプルコレクションの作成 まずは、動作確認用のドキュメントを含むコレクションを作成します。ここでは、 id フィールドと、文字列の配列を持つ subjectid フィールドを備えた2件のド
-
MongoDBでコレクション内のドキュメントの各フィールドを数式を使って更新する方法
コレクション内のドキュメントの各フィールドを数式(計算式)で一括更新したい場合は、MongoDBの update() メソッドに $mul 演算子と全位置演算子 $[] を組み合わせて使用します。本記事では、配列内のすべての要素に対して特定のフィールドの値を乗算で更新する具体的な手順を解説します。サンプルコレクションの作成まず、insertOne() メソッドを使って、ドキュメントを含むコレクションを作成します。> db.demo749.insertOne({details:[{id:1,a:10},{id:2,a:5},{id:3,a:20}]}); { acknowledge