您可以向文档.save()操作添加聚合管道吗?

时间:2020-10-16 05:53:54

标签: mongodb mongoose

我在mongodb中使用mongoose,并且在更新文档时,首先找到该文档,修改生成的文档对象,然后对文档进行.save()

现在,我想向保存操作中添加聚合管道,以便更好地控制文档响应,因此我想知道是否可能。

我了解到更新查询可以附加管道,但这是否也适用于保存操作?

1 个答案:

答案 0 :(得分:0)

就我在当前版本的MongoDB(4.4)中所关注的而言,允许聚合管道的唯一方法是那些涉及updateAndModify和Update的方法。因此,猫鼬可能会给这个问题带来限制。对于您的情况,我建议您将聚合管道与Model.findOneAndUpdate()一起使用。您可以按照以下示例操作:example of aggregate using Model.findOneAndUpdate() 您可能还会注意到,这是MongoDB的文档,而不是Mongoose的文档。我倾向于在Mongoose的文档中很难找到针对像这样的更具体用例的有用信息,因此很难在MongoDB中找到链接。它将与猫鼬中的模型一样工作,因此请尝试一下!