Mít pole uvnitř polí je téměř vždy špatný nápad z mnoha důvodů. Kampaně bych zařadil do vyhrazené sbírky, aby se z nich staly dokumenty nejvyšší úrovně.
To znamená, že můžete odeslat pole zpráv konkrétní kampaně prostřednictvím :
db.members.update(
{"user_id" : "{1231mjnD-32JIjn-3213}", "campaigns.campaign_id": 3221},
{$push:{"campaigns.$.messages":{"message_id":4213122, "email":"[email protected]"}}}
)