sql >> Database >  >> NoSQL >> MongoDB

MongoDb:aggregatie $lookup met filtering over de buitenlandse documenten

U kunt $filter gebruiken array-aggregatie-operator op pets array die wordt geproduceerd door uw $lookup podium.

Gebruik om huisdieren ouder dan 1 jaar uit te voeren

db.users.aggregate([ 
{ 
  $lookup: 
  { 
    from: "pets", 
    localField: "id", 
    foreignField: "owner", 
    as: "pets" 
  } 
}, 
{
  $project: 
  {
    name: 1,
    pets: 
    { 
      $filter: 
      { 
        input: "$pets", 
        as: "pet", 
        cond: { $gte: [ "$$pet.age", 1 ] } 
      } 
    } 
  } 
} 
]);

Om de oudste huisdieren uit te voeren, vervangt u eenvoudig cond veld van $filter operator in de vorige aggregatiepijplijn met

cond: { $eq: [ "$$pet.age", { $max: "$pets.age" } ] }



  1. Spring Data Mongo - Querymethoden en onderscheiden veld

  2. HBase-voorbeeldtabel

  3. Documenten importeren in MongoDB vanuit een array van JSON-documenten

  4. Hoe updateOption te gebruiken met arrayFilters in spring-data mongodb?