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

MongoDB - operator $setIsSubset nie działa z etapem $match

Powinieneś użyć $expr jeśli chcesz użyć $setIsSubset (który jest wyrażeniem) wewnątrz $match :

db.test.aggregate([
    {
        $match: {
            $expr: {
                $setIsSubset: [["hello", "you"], "$words"]}
            }
        }
])

Dla wersji MongoDB niższych niż 3,6 możesz użyć $redact :

db.test.aggregate([
    {
        $redact: {
            $cond: {
                if: { $eq: [ { $setIsSubset: [["hello", "you"], "$words"]}, true ] },
                then: "$$KEEP",
                else: "$$PRUNE"
            }
        }
    }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę połączyć się z MongoDB Atlas za pomocą Robomongo?

  2. Jak jednorazowo uruchomić polecenie w Docker Compose

  3. Element aktualizacji Node.js w MongoDB

  4. Mongodb upsert aktualizuje tylko wybrane pola, ale wstawia wszystkie

  5. Mongodb konwertuje wiele obiektów na tablicę, na miejscu, na stałe