Na verdade, aqui está um exemplo 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!'})
}
)
Tive dois problemas:
1) Tentei adicionar um
test
campo que não foi representado no meu esquema. 2) Esqueci completamente de
parseInt
o inferno fora dos meus parâmetros, porque no meu esquema são números. Obrigado a todos. :D