你如何使用mongoose 5.x.x的arrayFilters? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你如何使用mongoose 5.x.x的arrayFilters? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我几天前问过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

以上是关于你如何使用mongoose 5.x.x的arrayFilters? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

解构第一个 Array 项或如何强制 Mongoose 返回 Object 而不是 1-item Array

如何实现 type:(new mongoose.Schema) as Array

如何实现 type:(new mongoose.Schema) as Array

如何使用 Mongoose 只更新 MongoDB 中的一个属性?

mongoose 聚合和求和嵌套的 OBJECT (NOT ARRAY ) 字段

Mongoose,CastError:尝试保存包含模型的模型时,Cast to Array 的值失败