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

MongoDBのサブフィールドを検索しますか?


MongoDBでサブファイルを検索するには、ドット表記とともに二重引用符を使用できます。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.searchSubFieldDemo.insertOne(
...   {
...      "UserDetails":
...      {"UserEmailId":"John123@gmail.com","UserAge":21}
...   }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d909edc6604c74817ce2")
}
> db.searchSubFieldDemo.insertOne( { "UserDetails": {"UserEmailId":"Carol@yahoo.com","UserAge":26} } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d9a4edc6604c74817ce3")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.searchSubFieldDemo.find().pretty();

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5cd3d909edc6604c74817ce2"),
   "UserDetails" : {
      "UserEmailId" : "John123@gmail.com",
      "UserAge" : 21
   }
}
{
   "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"),
   "UserDetails" : {
      "UserEmailId" : "Carol@yahoo.com",
      "UserAge" : 26
   }
}

以下は、MongoDBのサブフィールドを検索するためのクエリです-

> db.searchSubFieldDemo.find({"UserDetails.UserEmailId":"Carol@yahoo.com"});

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "Carol@yahoo.com", "UserAge" : 26 } }

  1. MongoDB全文検索を実行します

    MongoDBでの全文検索には、$textを使用します。 $ textは、フィールドのコンテンツに対してテキスト検索を実行します。ドキュメントを使用してコレクションを作成しましょう- > db.demo654.createIndex({Name:"text"}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter"

  2. 大文字と小文字を区別しない検索を使用したMongoDBクエリ?

    大文字と小文字を区別しない検索の場合は、find()メソッドで正規表現を使用します。以下は構文です- db.demo572.find({"yourFieldName" : { '$regex':/^yourValue$/i}}); 上記の構文を理解するために、ドキュメントを使用してコレクションを作成しましょう- > db.demo572.insertOne({"CountryName":"US"});{    "acknowledged" : true, "in