Mongoose doesn't save nested sub documents
Your issues is saving refs to other documents.
cliente.sedi = [];for(var key in req.body.sede){ var sede = new Sede(req.body.sede[key]); var luoghi_consegna_sedi = []; for(jey in req.body.sede[key].lcs){ var luogo_consegna_sede = new LuoghiConsegnaSede(req.body.sede[key].lcs[jey]); // save luogo_consegna_sede and then push its _id luogo_consegna_sede.save(); luoghi_consegna_sedi.push(luogo_consegna_sede._id); } sede.luoghi_consegna_sedi = luoghi_consegna_sedi; // Save sede and then push its id sede.save(); cliente.sedi.push(sede._id);}cliente.save(function(err){ if(err) return res.sendStatus(400); return res.json(cliente);});