Наличието на масиви вътре в масиви е почти винаги лоша идея поради редица причини. Бих поставил кампаниите в специална колекция, така че да станат документи от най-високо ниво.
Въпреки това можете да натиснете към масив от съобщения на конкретна кампания чрез :
db.members.update(
{"user_id" : "{1231mjnD-32JIjn-3213}", "campaigns.campaign_id": 3221},
{$push:{"campaigns.$.messages":{"message_id":4213122, "email":"[email protected]"}}}
)