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

MongoDBで特定の文字列を含むドキュメントを検索する方法

MongoDBで特定の文字列を含むドキュメントを検索するには、find()メソッドを使用し、その条件の中で正規表現(regex)を指定します。本記事では、実際にコレクションを作成しながら、特定の文字列を含むドキュメントを抽出する手順をわかりやすく解説します。

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

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

> db.demo409.insertOne({"Name":"John Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e70e4e515dc524f7022767c")
}
> db.demo409.insertOne({"Name":"Chris Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e70e4ec15dc524f7022767d")
}
> db.demo409.insertOne({"Name":"Robert Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e70e4f415dc524f7022767e")
}
> db.demo409.insertOne({"Name":"David Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e70e4fe15dc524f7022767f")
}

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

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

> db.demo409.find();

これにより、次のような出力が得られます。

{ "_id" : ObjectId("5e70e4e515dc524f7022767c"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e70e4ec15dc524f7022767d"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5e70e4f415dc524f7022767e"), "Name" : "Robert Doe" }
{ "_id" : ObjectId("5e70e4fe15dc524f7022767f"), "Name" : "David Brown" }

3. 特定の文字列を含むドキュメントを検索するクエリ

MongoDBで特定の文字列を含むドキュメントを検索するには、検索条件に正規表現を指定します。以下は、Nameフィールドに「Doe」という文字列を含むドキュメントを検索するクエリの例です。

> db.demo409.find({Name: /Doe/});

実行すると、次の出力が得られます。

{ "_id" : ObjectId("5e70e4e515dc524f7022767c"), "Name" : "John Doe" }
{ "_id" : ObjectId("5e70e4f415dc524f7022767e"), "Name" : "Robert Doe" }

補足:大文字・小文字を区別せずに検索する方法

大文字・小文字を区別せずに検索したい場合は、正規表現にiオプションを付与します。例えば、/doe/iと指定することで、「Doe」「doe」「DOE」など、大文字小文字の違いを無視して一致するドキュメントを取得できます。

このように、MongoDBではfind()メソッドと正規表現を組み合わせることで、柔軟かつ効率的に文字列検索を行うことができます。

  1. MongoDBで特定の文字列を含むドキュメントを検索する方法($regexの使い方)

    MongoDBで特定の文字列を含むドキュメントを見つける方法MongoDBで特定の文字列が含まれるドキュメントを検索したい場合、find()メソッドと$regex演算子を組み合わせて使用します。$regexを使うことで、部分一致や大文字・小文字を区別しない柔軟な検索が可能になります。この記事では、実際のコレクションを作成しながら、特定の文字列を含むドキュメントを抽出する手順を解説します。1. テスト用コレクションとドキュメントの作成まず、insertOne()メソッドを使ってサンプルコレクション「demo597」にドキュメントを挿入します。> db.demo597.insertOne({

  2. MongoDBで1つのクエリを使って複数のドキュメントを一括更新する方法(bulkWrite活用ガイド)

    MongoDBで1つのクエリで複数のドキュメントを更新するには?MongoDBで1回のリクエスト(1つのクエリ)で複数のドキュメントを効率的に更新したい場合は、bulkWrite()メソッドを使用します。bulkWrite()は、複数の書き込み操作(insert、update、deleteなど)をまとめてサーバーに送信できるため、個別にクエリを発行するよりもパフォーマンス面で優れています。ここでは、updateOne操作を組み合わせて、複数のドキュメントのフィールドを一度に更新する手順を具体的に解説します。1. コレクションの作成とドキュメントの挿入まず、insertOne()メソッドを使って