sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan bruges NOT IN array condition inde i mongodb $lookup aggregat

Du skal bruge $not $in med $expr udtryk, fordi $nin er en forespørgselsoperator ikke til aggregeringsudtryk,

  • en rettelse mere, du skal bruge for at oprette variabel ved hjælp af let: { following: "$following"} og brug inde i pipeline $$following , fordi opslagspipeline ikke tillader adgang til felter uden reference,
  {
    $lookup: {
      from: "Users",
      let: {
        following: "$following"
      },
      pipeline: [
        {
          $match: {
            $expr: {
              $not: {
                $in: [
                  "$_id",
                  "$$following"
                ]
              }
            }
          }
        }
      ],
      as: "result"
    }
  }

Working Playground:https://mongoplayground.net/p/08OT6NnuYHx




  1. Få forskellige værdier fra array baseret på forhold i arrayet

  2. befolke i mongodb med meteor

  3. Mongoose Populate arbejder ikke med Array of ObjectIds

  4. mongoose/mongodb brugerdefineret sortering