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

Filter array menggunakan operator $in di tahap $project

Sejak $in tidak didukung dalam operasi agregat untuk array, alternatifnya adalah Anda menggunakan $setIsSubset . Untuk informasi lebih lanjut tentang ini, Anda dapat merujuk tautan ini. Kueri agregat sekarang akan terlihat seperti

db.test.aggregate([
{
    $project: {
        'filtered_users': {
            $filter: {
                input: '$users',
                as: 'user',
                cond: {
                   $setIsSubset: [['x'], '$$user.accounts']           
                }
            }
        }
    }
}])

Kueri ini hanya akan mengembalikan elemen yang memiliki [x] sebagai subset dari larik di user.accounts .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. kueri luwak/mongodb beberapa jenis

  2. Menautkan &Membuat Gabungan MongoDB Menggunakan SQL:Bagian 1

  3. mongoengine - Kueri pada ListField dari EmbeddedDocumentField

  4. 3 Langkah Sederhana untuk Membuat Cluster Sharded MongoDB

  5. Driver Mongodb C# hanya mengembalikan sub dokumen yang cocok dalam array