MongoDB の多次元配列のフィルタリングの方法

MongoDBでは、二次元配列のフィルタリングに$elemMatch演算子を使えます。

下記のような文書構造があるとします。

{“_id” : 1, “生徒” : [{“名前” : “ジョン”, “成績” : [80, 90, 70]}, {“名前” : “ジェーン”, “成績” : [85, 95, 75]}]}

特定の条件を満たす学生を取り出す時は、$elemMatch演算子を利用します。例えば、下記のように記述します。

「students」の要素のうち「grades」が90以上のものを持つドキュメントを返す

このクエリは、少なくとも90以上の成績を持つ生徒を返します。

bannerAds