Можем ли мы применить проекцию на уровне модели, которая применяется везде, где к этой модели обращаются даже в совокупности или $ lookup - PullRequest
2 голосов
/ 13 января 2020

Пн goose предоставляет нам возможность применять агрегационные зацепки, которые работают только тогда, когда агрегирование применяется к этой конкретной модели.

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"
    }
  },

Есть ли способ в пн goose, чтобы мы могли применить проекцию в уровень модели, который применяется везде, где к этой модели обращаются, и нам не нужно применять проекцию в каждом агрегационном запросе.

...