MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

coleção A que tem estrangeiro com B, B tem estrangeiro com coleção C, como posso trazer estrangeiro de A para coleção C? (Agregado)

  • $lookup junte-se à coleção da cidade
  • $lookup juntar-se à coleção de países
  • $project para mostrar os campos obrigatórios, obtenha o primeiro elemento de city e country usando $first
db.travel_reservation.aggregate([
  {
    $lookup: {
      from: "city",
      localField: "city_id",
      foreignField: "_id",
      as: "city"
    }
  },
  {
    $lookup: {
      from: "country",
      localField: "city.country_id",
      foreignField: "_id",
      as: "country"
    }
  },
  {
    $project: {
      name_person: 1,
      city: { $first: "$city" },
      country: { $first: "$country" }
    }
  }
])

Playground