Ciao Matteo.
I nested array sono sempre fastidiosi.
Non sono un grosso esperto, quindi io opterei per una soluzione semplice, ovvero farei due update:
- col primo aggiungo il nuovo elemento (2 uova) all'array degli ingredienti
- col secondo elimino dall'array l'elemento da modificare (3 uova).
Qui sotto i comandi per la shell di Mongo:
db.ricette.update({"ricetta.nome": "carbonara"},
{$addToSet: {"ricetta.$.ingredienti": {"nome":"uova", "quantita": NumberInt(2)} } });
db.ricette.update({"ricetta.nome": "carbonara"},
{$pull: {"ricetta.$.ingredienti": {"nome":"uova", "quantita": 3} } });
IHTH
Giovanni