MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak używać warunku tablicy NOT IN w mongodb $lookup agregat

Powinieneś użyć $not $in z $expr wyrażenie, Ponieważ $nin jest operatorem zapytania nie dla wyrażenia agregacji,

  • jeszcze jedna poprawka, której potrzebujesz, aby utworzyć zmienną za pomocą let: { following: "$following"} i użyj wewnątrz potoku $$following , ponieważ potok wyszukiwania nie pozwoli na dostęp do pól bez odniesienia,
  {
    $lookup: {
      from: "Users",
      let: {
        following: "$following"
      },
      pipeline: [
        {
          $match: {
            $expr: {
              $not: {
                $in: [
                  "$_id",
                  "$$following"
                ]
              }
            }
          }
        }
      ],
      as: "result"
    }
  }

Roboczy plac zabaw:https://mongoplayground.net/p/08OT6NnuYHx




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dlaczego to zapytanie aktualizujące aktualizuje tylko jeden rekord raz

  2. Przechowywanie obrazów:MongoDb a system plików

  3. MongoDB $dayOfYear

  4. Zarządzaj wieloprocesorowym przetwarzaniem w Pythonie za pomocą MongoDB

  5. iptables blokuje lokalne połączenie z mongodb