In realtà ecco un esempio di findOneAndUpdate
comando:
Company.findOneAndUpdate(
{'companyId': parseInt(req.params.companyId)},
{$pull: {'companyDivisions.$[element].divisionDepartments': {'departmentId': parseInt(req.params.departmentId)}}},
{arrayFilters: [{'element.divisionId': parseInt(req.params.divisionId)}]},
(err) => {
if (err) res.status(400).json(err)
res.status(200).json({success: true, message: 'this worked without errors!'})
}
)
Ho avuto due problemi:
1) Ho provato ad aggiungere un test
campo che non era rappresentato nel mio schema.
2) Mi sono completamente dimenticato di parseInt
al diavolo i miei parametri, perché nel mio schema questi sono numeri.
Grazie a tutti. :D