En realidad aquí hay un ejemplo de 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!'})
}
)
Tuve dos problemas:
1) Traté de agregar una test
campo que no estaba representado en mi esquema.
2) Me olvidé por completo de parseInt
Al diablo con mis parámetros, porque en mi esquema estos son números.
Gracias a todos. :D