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":""}}