sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man använder NOT IN array condition inuti mongodb $lookup aggregat

Du bör använda $not $in med $expr uttryck, eftersom $nin är en frågeoperator inte för aggregeringsuttryck,

  • en till korrigering du behöver för att skapa variabel med let: { following: "$following"} och använd inuti pipeline $$following , eftersom lookup pipeline inte tillåter åtkomst till fält utan referens,
  {
    $lookup: {
      from: "Users",
      let: {
        following: "$following"
      },
      pipeline: [
        {
          $match: {
            $expr: {
              $not: {
                $in: [
                  "$_id",
                  "$$following"
                ]
              }
            }
          }
        }
      ],
      as: "result"
    }
  }

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




  1. Använder nginx för att visa innehåll direkt från en redis-cache

  2. Hur kör jag Redis på Windows 32 bit?

  3. Mongo DB-fråga i java

  4. MongoDB listCollections filter