アレイ内にアレイを配置することは、多くの理由からほとんどの場合悪い考えです。キャンペーンを専用のコレクションに入れて、トップレベルのドキュメントにします。
そうは言っても、次の方法で特定のキャンペーンのメッセージ配列にプッシュできます:
db.members.update(
{"user_id" : "{1231mjnD-32JIjn-3213}", "campaigns.campaign_id": 3221},
{$push:{"campaigns.$.messages":{"message_id":4213122, "email":"[email protected]"}}}
)