MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come usi arrayFilters con mongoose 5.x.x?

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