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

Вземете подмножество на масиви в mongodb, като използвате източник на масив

Просто трябва да $filter масива и запазете само онези поддокументи, където стойността е подмножество от вашия входен масив. Имайте предвид, че стойност ето един масив от елементи, където елементът е вграденото поле value .

let fruits = ["apple","banana","coconut"];

db.collection.aggregate([
    { "$project": { 
        "Element": { 
            "$filter": { 
                "input": "$Element", 
                "as": "el", 
                "cond": { 
                    "$setIsSubset": [ [ "$$el.Value" ], fruits ] 
                 }
            }
        }
    }}
])

Започвайки от MongoDB 3.4*, можете да използвате $in оператор в $project етап.

db.collection.aggregate([
    { "$project": { 
        "Element": { 
            "$filter": { 
                "input": "$Element", 
                "as": "el", 
                "cond": { 
                    "$in": [ "$$el.Value", fruits ] 
                 }
            }
        }
    }}
])

*Неиздавана версия на MongoDB към момента на писане




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Низ за връзка в MongoDB (с примери)

  2. Разстояние за печат на MongoDB между две точки

  3. Mongodb намери създадени резултати по дата днес

  4. Мониторинг на база данни без агент с ClusterControl

  5. Как да създадете потребител в mongodb с docker-compose