sql >> Database >  >> NoSQL >> MongoDB

MongoDB - $setIsSubset operator werkt niet met $match stage

Gebruik $expr als je $setIsSubset . wilt gebruiken (wat een uitdrukking is) in $match :

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

Voor MongoDB-versies lager dan 3.6 je kunt $redact gebruiken :

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


  1. Spark en MongoDB-toepassing in Scala 2.10 maven ingebouwde fout

  2. Hoe selecteer ik een mongo-subdocument op id met mangoest?

  3. Mongoose verwijdert (pull) een document binnen een array, werkt niet met ObjectID

  4. MongoDB:een document vinden op een id in een genest document