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

Mengubah array mongo menjadi objek dengan pasangan nilai kunci

Tidak begitu yakin apa yang ingin Anda lakukan dengan hasil akhirnya karena kunci dan nilainya sama saja. Meskipun demikian, Anda dapat menggunakan kerangka kerja agregasi tempat Anda dapat mendenormalisasi larik nilai yang disematkan dengan menggunakan $unwind operator yang meratakannya yaitu menghasilkan salinan setiap dokumen per entri array.

Setelah meratakan larik nilai, Anda dapat menerapkan $group operator akumulasi pada nilai untuk menggabungkannya. Pipeline terakhir dari $project operator akan membentuk bidang dari pengelompokan sebelumnya ke dalam format yang diinginkan.

Ikuti contoh ini untuk mendapatkan konsepnya:

templateAttributes.aggregate([
    { "$match": { "platform": "V1" } },
    { "$unwind": "$available.Community.attributes.type.values" },
    {
        "$group": {
            "_id": "$available.Community.attributes.type.values",
            "value": { "$first": "$available.Community.attributes.type.values" }
        }
    },
    {
        "$project": {
            "_id": 0,
            "label": "$_id",
            "value": 1
        }
    }
])

Karena Anda menggunakan Meteor, tambahkan meteor meteorhacks:aggregate akan menambahkan dukungan agregasi yang tepat untuk Meteor sehingga Anda dapat menjalankan alur agregasi di atas pada koleksi Anda.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Google Maps/NodeJS Sudut:Penanda Tampilan dari Database

  2. Mongodb dimatikan

  3. luwak menjumlahkan nilai di semua dokumen

  4. Prosedur Tersimpan MongoDB Setara

  5. Bagaimana cara menyimpan file di MongoDB?