我几天前曾要求question关于更新嵌套对象数组中的数组。现在,MongoDB 3.6通过arrayFilters
功能正式支持它。
是否在Mongoose 5.x.x中实现?语法是什么?我应该使用哪种方法?
答案 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