MongoDb: pesquisa de agregação $ com filtragem de documentos estrangeiros

Dadas algumas coleções:

1.- USUÁRIOS

{
  name: ...
  id: ...
  city: ...
  age: ...
  otherdata: ...
}

2.- PETS

{
  name: ...
  owner: ...
  type: ...
  age: ...
}

Estou tentando usar a agregação com $ lookup para criar um conjunto de objetos que representam usuários com seus animais de estimação:

collectionusers.aggregate([
   {
     $lookup: {
       from: "pets",
       localField: "id",
       foreignField: "owner",
       as: "pets"
     }
   }
]);

Mas eu gostaria de adicionar um filtro para que apenas animais com mais de 1 ano sejam adicionados a cada usuário (usando a idade do campo dentro dos objetos).

O problema é que adicionar $ match na agregação não funciona porque filtra usuários sem animais de estimação antigos e quero que os usuários estejam lá, mesmo que não tenham animais de estimação.

Na verdade, eu também estou tentando obter apenas o animal de estimação mais antigo de cada usuário da mesma maneira e também não encontrei a fórmula.

Alguma maneira de executar esta ação na agregação?

Claro, atualmente estou fazendo isso depois, nos objetos retornados.

Desde já, obrigado.

questionAnswers(1)

yourAnswerToTheQuestion