MongoDBでfind()を使って名前からユーザーを検索する方法
MongoDBでユーザーの名前をキーにドキュメントを検索したい場合は、find()メソッドを使用します。この記事では、実際にコレクションを作成し、名前を指定してユーザーを取得する手順を順番に解説します。
1. コレクションの作成とドキュメントの挿入
まず、insertOne()メソッドを使ってサンプル用のコレクション「demo504」にドキュメントを挿入します。
> db.demo504.insertOne({"Name":"Chris"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8823ee987b6e0e9d18f570")
}
> db.demo504.insertOne({"Name":"John"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8823f2987b6e0e9d18f571")
}
> db.demo504.insertOne({"Name":"David"});{
"acknowledged" : true,
"insertedId" : ObjectId("5e8823f5987b6e0e9d18f572")
}2. コレクション内の全ドキュメントを表示する
次に、find()メソッドを使ってコレクション内のすべてのドキュメントを表示してみましょう。
> db.demo504.find();
上記のクエリを実行すると、以下のような出力が得られます。
{ "_id" : ObjectId("5e8823ee987b6e0e9d18f570"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8823f2987b6e0e9d18f571"), "Name" : "John" }
{ "_id" : ObjectId("5e8823f5987b6e0e9d18f572"), "Name" : "David" }3. 名前を指定してユーザーを検索する
特定の名前を持つユーザーを検索するには、find()の引数に検索条件を渡します。ここでは例として、「John」という名前のドキュメントを取得します。
> db.demo504.find({Name:"John"});実行結果は以下の通りです。条件に一致したドキュメントのみが返されていることがわかります。
{ "_id" : ObjectId("5e8823f2987b6e0e9d18f571"), "Name" : "John" }まとめ
MongoDBで名前によるユーザー検索を行うには、find({フィールド名: 値})のように条件オブジェクトを指定するだけです。大文字・小文字は区別されるため、完全一致で検索されない場合はデータ側の表記も確認しましょう。また、部分一致や正規表現での検索が必要な場合は$regex演算子を活用すると柔軟な検索が可能になります。
-
MongoDBの$regex(正規表現)で入力値に類似した名前を検索する方法
MongoDBでは、$regex 演算子を使用することで、ユーザーが入力した名前に類似したドキュメントを柔軟に検索できます。さらに $options に i を指定すれば、大文字と小文字を区別しない部分一致検索も可能です。この記事では、実際にコレクションを作成し、正規表現によるあいまい検索を行う手順をサンプルコード付きで解説します。1. サンプルコレクションの作成まず、insertOne() メソッドを使って、名前情報を持つドキュメントをコレクションに登録します。> db.demo514.insertOne({Information:{FullName:John Doe}});{
-
【MongoDB入門】find()で条件に基づくレコード検索を行う方法
MongoDBで特定の条件に一致するドキュメント(レコード)を取得したい場合、find()メソッドに検索条件を指定するだけで実現できます。本記事では、サンプルコレクションを作成し、条件を指定してデータを検索する手順を実際のコード例とともに解説します。1. サンプルコレクションの作成まず、insertOne()メソッドを使って、テスト用のコレクション「demo708」に複数のドキュメントを挿入します。> db.demo708.insertOne({Name:John,Marks:54}); { acknowledged : true, insertedId : Object