プレースホルダーはすでに配列内のその位置に移動しているため、完全な表記は必要ありません。
db.junk.update(
{ "commandes.voyagesSouscrits.idVoyage": "123" },
{$pull: { "commandes.$.voyagesSouscrits": { idVoyage: "123" } }}
)
この部分:
idVoyage: { <query> }
「commandes。$。voyagesSouscrits」の位置演算子が必要な場合にのみ必要です。 "は最初のにのみ一致します クエリで見つかった配列の位置。
http://docs.mongodb.org/manual/reference/operator/projection/positional/
それが解決することを願っています。