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

MongoDB - Memfilter konten dari Array internal di hasilset

Anda dapat menggunakan kerangka kerja agregasi MongoDB .

Jika Anda memiliki dokumen dalam koleksi Anda seperti;

{
 "URL": "www.stackoverflow.com",
 "TAGS": [
         {"NAME": "question", "VOTES": 3},
         {"NAME": "answer", "VOTES": 5},
         {"NAME": "problem", "VOTES": 2}
         ]
}

dan Anda ingin memfilter beberapa elemen larik, Anda dapat menggunakan sampel agregasi;

db.sof_table.aggregate
([
{$unwind:'$TAGS'}, 
{$match:{'TAGS.NAME':{$in:['answer','question']}}},
{$group:{_id:'$URL',TAGS:{$push:'$TAGS'}}}
])

Ini akan menghasilkan;

{
    "result" : [
        {
            "_id" : "www.stackoverflow.com",
            "TAGS" : [
                {
                    "NAME" : "question",
                    "VOTES" : 3
                },
                {
                    "NAME" : "answer",
                    "VOTES" : 5
                }
            ]
        }
    ],
    "ok" : 1
}

sebagai hasil yang Anda harapkan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menyimpan file ke MongoDB menggunakan Multer di Mongoose

  2. Luwak tidak menyimpan objek bersarang

  3. Berapa ukuran maksimal operasi batch MongoDB?

  4. SQL RPAD()

  5. MongoDB $kalikan