$演算子
更新演算子オブジェクトで使用するためのものです(update
の2番目の引数 )、しない クエリセレクター(最初の引数)。クエリセレクタでは、できるはずです aList.bList.cList._id
を使用するには 、これにより、aList.$.bList.$.cList
埋め込まれたcList
の最初に一致する要素に対応します 更新演算子で。
編集:
ネストされた位置($
)演算子のマッチングは現在サポートされていません。 このチケット
は昔(2010年!)からまさにこの機能に対する需要を示していますが、mongoDB内の低レベルのコードではこれが可能ではなかったようです。 10genは、2.6リリースでこの機能を利用できるようになることを期待しているようです。
現在のスキーマでこれを実現するには、個別にクエリと更新を行う必要があるようです。または、スキーマをよりフラットに変更する必要があるかもしれません。