Como posso usar um campo de agregação em uma correspondência de regex $ no mongodb?

ma versão muito simplificada do meu caso de uso é encontrar todas as postagens que começam com o nome dos autores, algo como isto:

> db.users.find();
{ "_id" : ObjectId("5c4185be19da7e815cb18f59"), "name" : "User1" }
{ "_id" : ObjectId("5c4185be19da7e815cb18f5a"), "name" : "User2" }

db.posts.insert([
  {author : ObjectId("5c4185be19da7e815cb18f59"), text: "User1 is my name"},
  {author : ObjectId("5c4185be19da7e815cb18f5a"), text: "My name is User2, but this post doesn't start with it"}
]);

Então, quero identificar todas as postagens que começam com o nome dos autores. Estou tentando com um agregado como este, mas não sei como extrair o nome do usuário do pipeline agregado para usar em uma correspondência de regex:

db.users.aggregate([
  {
    $lookup: {
      from: "posts",
      localField: "_id",
      foreignField: "author",
      as: "post"
    }
  },
  {
    $match: { "post.text": { $regex: "^" + name}}
  }
]).pretty();

A coisa "nome" aqui não é algo definido, preciso extrair o nome da entrada da coleção de usuários da etapa anterior do pipeline. Por alguma razão, não entendo como fazer isso.

Isso é provavelmente super simples e definitivamente estou me sentindo grossa como um tijolo aqui ... Qualquer ajuda muito apreciada!

questionAnswers(1)

yourAnswerToTheQuestion