Une façon de le faire serait avec $push
:
db.col.update(
{ name: 'doc', 'list.id': 2 },
{$push: {'list.$.items': {id: 5, name: 'item5'}}}
)
http://docs.mongodb.org/manual/reference/operator/push/
Vous pouvez également remplacer $push
avec d'autres opérateurs comme (éventuellement) $addToSet
pour obtenir les résultats exacts que vous recherchez.