MongoDB ID で検索

Tahseen Tauseef 2024年2月15日
  1. MongoDB id() で検索 関数
  2. MongoDB find by id() の例
  3. MongoDB の find by ObjectId() メソッド
  4. MongoDB の find by name メソッド
MongoDB ID で検索

次の記事では、MongoDB の find by Id() メソッドについて概説しています。 MongoDB は、ユーザーの id に一致するドキュメントを取得する関数 find by Id() を提供します。

MongoDB で find() 関数を使用するには、find() 関数を使用します。 指定された id に一致するドキュメントが見つからない場合は、null 値を返します。

id に従ってドキュメントを取得する必要がある場合に広く使用される重要な機能の 1つです。

MongoDB id() で検索 関数

ユーザーは find() 関数を使用して、MongoDB で find by id() を使用します。 以下は、MongoDB データベースで find by id() 関数を使用する構文です。

db.collection_name.find(query, projection)
  1. query - オプションのパラメータです。 クエリ演算子を使用して選択フィルターを指定します。

    このパラメーターを無視すると、コレクション内のすべてのドキュメントが返されます。

  2. projection - これもオプションのパラメーターです。 クエリ フィルタが満たされた場合に返されるフィールドを提供します。

    このオプションを省略すると、一致するドキュメントのすべてのフィールドが返されます。

  3. 戻り型 - 検索条件に一致するドキュメントにカーソルを返します。

find by id() は、ユーザーが指定した特定の id に一致するドキュメントの詳細を取得します。ここで、id は、名前が示すように、ドキュメントがデータベースに作成されるときに自動的に生成される id です。

同様に、_id パラメータは、ドキュメントがデータベースに配置されたときに自動的に生成される id です。

単純な find() 関数は、自動的に生成された id にアクセスするための条件を指定せずに使用されます。 Mongosh では、db.collection_name.find() 関数が自動的にカーソルを繰り返し、コレクションの最初の 20 個のドキュメントを表示します。

言語が異なれば、id を指定してドキュメントを取得または検索する方法も異なります。

MongoDB find by id() の例

以下は、MongoDB データベースでの find by id() の使用法を示すいくつかの例です。 さらに、データベースには teams という名前のコレクションがあり、この記事のすべての例で使用されます。

db={
  "teams": [
    {
      team: "Manchester City ",
      position: "1st",
      points: 70
    },
    {
      team: "Liverpool",
      position: "2nd",
      points: 69
    },
    {
      team: "Chelsea",
      position: "3rd",
      points: 59
    },
    {
      team: "Arsenal",
      position: "4th",
      points: 54
    },
    {
      team: "Tottenham",
      position: "5th",
      points: 51
    },
    {
      team: "Manchester United",
      position: "6th",
      points: 50
    }

  ]
}

この例では、パラメーターなしで find() 関数を使用します。 このクエリのコードを以下に示します。

db.teams.find();

上記のクエリの出力のスクリーンショットを以下に示します。

idで検索

この例のリンク ここ にアクセスできます。

上記の例では、MongoDB の find() 関数をパラメーターを渡さずに使用しています。 パラメータが渡されないため、find() 関数は、コレクションに存在するすべての詳細なドキュメントを取得します。

さらに、ObjectId() の追加フィールドが各ドキュメントの先頭に自動的に挿入されていることがわかります。

MongoDB は、ユーザーが挿入した新しいドキュメントごとに ObjectId() を挿入します。 この ObjectId() は他に類を見ないものであり、複数のドキュメントで使用することはできません。

これは、すべてのドキュメント ObjectId() を取得し、特定の要件に従ってそれらを使用する最も簡単な方法の 1つです。

MongoDB の find by ObjectId() メソッド

find() 関数を使用して、ObjectId() パラメータを渡します。

このクエリのコードを以下に示します。

db.teams.find({
  _id: ObjectId("5a934e000102030405000002")
})

上記のクエリの出力のスクリーンショットを以下に示します。

オブジェクト ID で検索

上記の例では、ドキュメントの ObjectId() に基づいてドキュメントが検索されます。 ObjectId() は、新しいドキュメントがコレクションに挿入されたときに自動的に割り当てられる一意の id です。

MongoDB では、ObjectId() パラメータを find() 関数に渡すことができ、ユーザーは対応するドキュメントをコンソールに表示します。

MongoDB の find by name メソッド

一意の ObjectId 以外のフィールドのパラメーターを渡すことにより、find() 関数を使用します。

このクエリのコードを以下に示します。

db.teams.find({
  "team": "Arsenal"
})

上記のクエリの出力のスクリーンショットを以下に示します。

ID 2 で検索

上記の例でわかるように、ユーザーはドキュメントの他のフィールドの find() 関数のパラメーターを配置することもできます。

team は各ドキュメントをフィルターできるフィールドでもあるため、Arsenal のような team を持つドキュメントが見つかり、そのすべての詳細がコンソールでユーザーに表示されます。

この MongoDB の記事では、find by Id() 関数と、ユーザー指定の id に基づいてドキュメントを取得するために MongoDB でどのように機能するかについて説明しました。

ご存知のように、find() メソッドは、提供された id に基づいてドキュメントを取得するために使用されます。 内部的には、find() メソッドは findOne() を呼び出して状況に対処します。