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

membuat grup dan menganalisis data dari daftar array di lahir

Silakan ikuti langkah-langkah di bawah ini untuk mendapatkan respons yang diinginkan.

Data:

db.devicestatus.insert([
  {
    "_id": "0001",
    "className":"store",
    "deviceStatus": [ {
    "deviceName": "CardReader",
    "errorCode": "97080301",
    "status": "Bad"
  },
  {
    "deviceName": "CashAcceptor",
    "errorCode": "97080302,97080303",
    "status": "Bad"
  },
  {
    "deviceName": "CashDispenser",
    "errorCode": "",
    "status": "Good"
  }]
  }
])

1.Penjelajah Data - Buka Kumpulan Data - Kumpulan Data Baru - Pilih Sumber Data - Masukkan Nama Kumpulan Data - Klik Berikutnya

2.Masukkan nama koleksi - status perangkat - Daftar semua bidang - Pilih opsi Agregat dari tarik-turun jenis perintah - Klik Ekspresi

3.Tambahkan ekspresi di bawah ini pada perintah pembuat ekspresi - Klik OK

Ekspresi di bawah ini $unwind untuk meratakan larik untuk menguraikan larik devicestatus menjadi dokumen diikuti dengan $project untuk menjaga bidang yang diperlukan.

[
  {"$unwind":"$deviceStatus"},
  {"$project":{
    "_id":0,
    "className":1,
   "deviceStatus.deviceName":1,
   "deviceStatus.errorCode":1
   }
  }
]

ATAU

Ekspresi di bawah ini berulang pada array devicesstatus dan $map dan $project bidang yang diperlukan diikuti dengan $unwind untuk meratakan untuk menguraikan array menjadi dokumen.

[{
  "$project":{
    "_id":0,
    "className":1, 
    "deviceStatus":{
      "$map":{
        "input":"$deviceStatus",
        "as":"result",
        "in":{
          "deviceName":"$$result.deviceName",
          "errorCode":"$$result.errorCode"
        }
      }
    }
   }
 },
 {"$unwind":"$deviceStatus"}
]

ATAU

4.Konfirmasi untuk menyegarkan - Klik ya

5.Pindahkan semua bidang yang tersedia ke kotak drop multi pilih yang dipilih - Klik Selesai

6. Hasil Pratinjau

{"className":"store", "deviceStatus":{"deviceName":"CardReader","errorCode":"97080301"}}
{"className":"store", "deviceStatus":{ "deviceName":"CashAcceptor","errorCode":"97080302,97080303"}}
{"className":"store","deviceStatus":{"deviceName":"CashDispenser","errorCode":""}}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memanggil fungsi server js di mongodb dari java

  2. Agregasi MongoDB - nilai bidang proyek sebagai bidang

  3. Indeks MongoDB 2dsphere gagal (geometri salah bentuk?)

  4. Atribut BsonElement dan logika deserialisasi khusus dengan driver MongoDB C#

  5. Ubah array string menjadi array Id objek