你如何使用mongoose 5.x.x的arrayFilters?

时间:2018-03-04 12:44:58

标签: node.js mongodb mongoose mongodb-query

我几天前曾要求question关于更新嵌套对象数组中的数组。现在,MongoDB 3.6通过arrayFilters功能正式支持它。

是否在Mongoose 5.x.x中实现?语法是什么?我应该使用哪种方法?

1 个答案:

答案 0 :(得分:0)

实际上这是findOneAndUpdate命令的一个例子:

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

我有两个问题:

1)我尝试添加一个test字段,该字段未在我的架构中表示。

2)我完全忘记parseInt我的参数中的地狱,因为在我的模式中这些是数字。

谢谢大家。 :d