这个问题在这里已有答案:
我几天前问过question有关更新嵌套对象数组中的数组的问题。现在,MongoDB 3.6通过arrayFilters
功能正式支持它。
它是在Mongoose 5.x.x中实现的吗?语法是什么?我应该使用哪种方法?
实际上这里是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