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

Apakah mungkin untuk meratakan kueri hasil MongoDB?

Anda dapat menggunakan $project &$unwind &$group dari agregasi kerangka kerja untuk mendapatkan hasil yang lebih dekat dengan kebutuhan Anda.

> db.countries.aggregate({$project:{a:'$data.country.neighbor.name'}},
                         {$unwind:'$a'},
                         {$unwind:'$a'},
                         {$group:{_id:'a',res:{$addToSet:'$a'}}})
  {
    "result" : [
        {
            "_id" : "a",
            "res" : [
                "Colombia",
                "Malaysia",
                "Switzerland",
                "Costa Rica",
                "Austria"
            ]
        }
    ],
    "ok" : 1
}

$unwind digunakan dua kali karena array nama bersarang dalam. Dan itu hanya akan berfungsi jika neighbor atribut adalah array. Dalam contoh Anda, satu bidang tetangga (Malaysia) bukan larik



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cetak cantik di shell MongoDB sebagai default

  2. Tidak dapat terhubung ke mongo di server jarak jauh

  3. Mencari cara untuk mengembalikan dokumen dari koleksi lain berdasarkan kumpulan dari yang lain, MongoDB

  4. Mengimpor koleksi mongo ke koleksi yang ada tanpa menimpanya

  5. Bagaimana Pengindeksan meningkatkan kinerja kueri di mongodb