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

MongoDBのインデックス付けされていないフィールドで複雑なクエリを効率的に実行するにはどうすればよいですか?


複雑なクエリを効率的に実行するためのインデックスを作成します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo400.insertOne({SubjectName:"Java Spring"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610720fac4d418a0178572")
}
> db.demo400.insertOne({SubjectName:"Spring Hibernate"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e61072dfac4d418a0178573")
}
> db.demo400.insertOne({SubjectName:"Java Hibernate"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e610736fac4d418a0178574")
}
> db.demo400.createIndex({SubjectName:"text"});
{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo400.find();

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

{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }
{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610736fac4d418a0178574"), "SubjectName" : "Java Hibernate" }

以下は、インデックス付けされていないフィールドで複雑なクエリを効率的に実行するためのクエリです-

> db.demo400.find({ $text: { $search: "Spring" } } )

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

{ "_id" : ObjectId("5e61072dfac4d418a0178573"), "SubjectName" : "Spring Hibernate" }
{ "_id" : ObjectId("5e610720fac4d418a0178572"), "SubjectName" : "Java Spring" }

  1. MongoDBでコンソールをクリアする方法は?

    MongoDBでコンソールをクリアするには、次の2つの構文のいずれかを使用できます。 最初の構文は次のとおりです。これは、キーボードショートカットの使用法です- Ctrl + L 上記のキーを押すと、MongoDBでコンソールをクリアできます。 2番目の構文は次のとおりです- cls 上記の構文を理解するために、それらを1つずつ実装してみましょう。これが私のコンソールのスナップショットです。 最初のクエリは、MongoDBのコンソールをクリアするために次のとおりです- Ctrl+L; 以下は出力です- 上記のサンプル出力を見てください。コンソールはクリアされています。

  2. mongosコマンドを使用してMongoDBシェルを実行するにはどうすればよいですか?

    MongoDBシェルを起動するには、mongoコマンドを使用する必要があります。以下は構文です- >mongo 以下のスクリーンショットのように、最初にコマンドプロンプトからMongoDBbinディレクトリにアクセスします- 以下のスクリーンショットのように、mongoシェルを起動するコマンドは次のとおりです- これにより、次の出力が生成されます-