HOWTO · MongoDB

MongoDB で配列を使用して特定のドキュメントを検索する

このチュートリアルでは、MongoDB で配列を含むドキュメントを検索する方法について説明します。

MongoDB では、ドキュメント内のフィールドに、サブアイテムのようなデータがさらに含まれる場合があります。

この記事では、フィールドのサブアイテムに基づいて特定のドキュメントを検索する方法について説明します。 また、簡単にするために、トピックに関連する例を示します。

MongoDB の find() メソッド

組み込みメソッド find() を使用して、特定の基準に基づいてコレクションから特定のドキュメントを検索します。 ここで、サブアイテム配列に基づいて特定の要素を検索するパラメーターを渡す必要があります。

パラメータの一般的な構文は次のとおりです。

"field.item" : 'value'

注: 適切なコレクションに含まれているかどうかを確認してください。 特定のコレクションをオンにするには、コマンド use YourCollection を使用します。

MongoDB のコレクションから特定のドキュメントを検索する

以下の例では、アイテムの配列に基づいてコレクションからドキュメントを見つける方法を示します。 しかし、最初に、コレクションに以下のドキュメントがあると考えてみましょう。

{
    _id: ObjectId("637524953f80c4973e1f16b6"),
    sl: 1,
    Name: 'Ron',
    List: {
        Element_1: 'A',
        Element_2: '3'
        }
}
{
    _id: ObjectId("637524953f80c4973e1f16b7"),
    sl: 2,
    Name: 'Caron',
    List: {
        Element_1: 'A',
        Element_2: '3'
        }
}

上記のように、フィールド List には項目の配列がサブ項目として含まれています。 次に、これらのサブアイテムに基づいて特定のドキュメントを見つけます。

この目的のコマンドは次のようになります。

db.mycolletion.find({ "List.Element_1" : "A" })

上記のコマンドを実行すると、コンソールに次の出力が表示されます。

{
    _id: ObjectId("637524953f80c4973e1f16b6"),
    sl: 1,
    Name: 'Ron',
    List: {
        Element_1: 'A',
        Element_2: '3'
        }
}

この記事に示されているコマンドは MongoDB データベース用であり、コマンドは MongoDB コンソールで実行する必要があることに注意してください。