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

Wybierz dokumenty, w których wszystkie wartości w polu tablicy istnieją w innej tablicy

Możesz to zrobić za pomocą .aggregate() metoda i $redact operator. W twoim $cond wyrażeń, których potrzebujesz, aby użyć $setIsSubset w celu sprawdzenia, czy wszystkie elementy w tablicy "products" znajdują się w "productIds". Dzieje się tak, ponieważ nie możesz użyć $in w wyrażeniu warunkowym

var productIds = [139,72,73,1,6];
db.customers.aggregate([ 
    { "$redact": { 
        "$cond": [ 
            { "$setIsSubset": [ "$products", productIds ] },
            "$$KEEP",
            "$$PRUNE" 
        ] 
    }} 
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Prawidłowe ukrywanie danych logowania do bazy danych

  2. Łączenie się z MongoDB Atlas przy użyciu Golang mgo:Trwały brak dostępnego serwera do zestawu replik

  3. Jak sprawdzić typ danych kolumny w SQL?

  4. Czy MongoDB jest w jakiś sposób ograniczony do jednego rdzenia?

  5. Jak wykonać zbiorczą aktualizację dokumentów w MongoDB za pomocą Javy?