MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB - $setIsSubset оператор не работи с $match етап

Трябва да използвате $expr ако искате да използвате $setIsSubset (което е израз) вътре в $match :

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

За версии на MongoDB по-ниски от 3.6 можете да използвате $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. Как автоматизацията на базата данни на MongoDB подобрява сигурността

  2. Каква е добрата структура на документа MongoDB за най-ефективно запитване на последователи/последователи на потребители?

  3. Mongo заявка за сортиране по отделен брой

  4. Как да добавя нови обекти в вложен масив за mongodb с помощта на node.js?

  5. Как да се свържа с MongoDB от друг PHP клас?