2

Mongoose 为我们提供了应用聚合挂钩的能力,该挂钩仅在将聚合应用于特定模型时才有效。

userSchema.post("aggregate", function() {
this.pipeline().push({$project: { _id: 1, firstName: 1, lastName: 1 }});});

上面的代码工作正常,当我们这样做时应用了正确的投影

User.aggregate([...])

但是当我们在另一个模型的聚合中查找用户时,不会应用相同的投影。

{
    $lookup: {
      from: "users",
      localField: "user",
      foreignField: "_id",
      as: "associatedUser"
    }
  },

mongoose 中是否有一种方法,以便我们可以在模型级别应用投影,该投影适用于访问该模型的任何地方,并且我们不必在每个聚合查询中应用投影。

4

0 回答 0