MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak używać arrayFilters z mangustą 5.x.x?

Właściwie tutaj jest przykład findOneAndUpdate polecenie:

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

Miałem dwa problemy:

1) Próbowałem dodać test pole, które nie było reprezentowane w moim schemacie.

2) Całkowicie zapomniałem o parseInt do diabła z moimi paramami, bo w moim schemacie są to liczby.

Dziękuję wszystkim. :D




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wykonanie zapytania Mongodb zajmuje zbyt dużo czasu

  2. MongoDB $cond

  3. Spark nie wykonuje zadań

  4. Jak zaktualizować obiekty w tablicy w Mongo?

  5. Potok agregacji Mongodb, jak ograniczyć grupowe push