MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie verwenden Sie ArrayFilters mit Mongoose 5.x.x?

Eigentlich ist hier ein Beispiel für findOneAndUpdate Befehl:

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!'})
  }
)

Ich hatte zwei Probleme:

1) Ich habe versucht, einen test hinzuzufügen Feld, das in meinem Schema nicht dargestellt wurde.

2) Ich habe komplett vergessen parseInt Zum Teufel mit meinen Parametern, denn in meinem Schema sind das Zahlen.

Dank euch allen. :D