MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Dapatkan subset array di mongodb menggunakan sumber array

Anda hanya perlu $filter array dan simpan hanya subdokumen yang nilai adalah subset dari array input Anda. Perhatikan bahwa nilai di sini adalah satu elemen larik di mana elemen adalah bidang tersemat value .

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

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

Mulai dari MongoDB 3.4* Anda dapat menggunakan $in operator di $project panggung.

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

*Versi MongoDB yang belum dirilis pada saat penulisan ini




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Metode pencarian luwak dengan $or condition tidak berfungsi dengan baik

  2. Cara menggunakan Spring untuk terhubung ke MongoDB yang memerlukan otentikasi

  3. $unwind array kosong

  4. Apa itu MongoDB, dan bagaimana cara kerjanya?

  5. Memasang di Mongo DB menggunakan driver C # resmi