MongoDB の多次元配列のフィルタリングの方法
MongoDBでは、二次元配列のフィルタリングに$elemMatch演算子を使えます。
下記のような文書構造があるとします。
{“_id” : 1, “生徒” : [{“名前” : “ジョン”, “成績” : [80, 90, 70]}, {“名前” : “ジェーン”, “成績” : [85, 95, 75]}]}
特定の条件を満たす学生を取り出す時は、$elemMatch演算子を利用します。例えば、下記のように記述します。
「students」の要素のうち「grades」が90以上のものを持つドキュメントを返す
このクエリは、少なくとも90以上の成績を持つ生徒を返します。