वांछित प्रतिक्रिया प्राप्त करने के लिए कृपया नीचे दिए गए चरणों का पालन करें।
डेटा:
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.डेटा एक्सप्लोरर - डेटा सेट पर जाएं - नया डेटा सेट - डेटा स्रोत चुनें - डेटा सेट नाम इनपुट करें - अगला क्लिक करें
2.इनपुट संग्रह नाम - डिवाइस स्थिति - सभी क्षेत्रों को सूचीबद्ध करता है - कमांड प्रकार ड्रॉपडाउन से कुल विकल्प चुनें - अभिव्यक्ति पर क्लिक करें
3. नीचे दिए गए एक्सप्रेशन को एक्सप्रेशन बिल्डर प्रॉम्प्ट में जोड़ें - ओके पर क्लिक करें
नीचे दिया गया एक्सप्रेशन $unwind
दस्तावेज़ों में डिवाइस स्थिति सरणी को विघटित करने के लिए सरणी को समतल करने के लिए $ परियोजना
आवश्यक फ़ील्ड रखने के लिए।
[
{"$unwind":"$deviceStatus"},
{"$project":{
"_id":0,
"className":1,
"deviceStatus.deviceName":1,
"deviceStatus.errorCode":1
}
}
]
या
नीचे दिया गया एक्सप्रेशन डिवाइसस्टैटस एरे और $map
और $project
आवश्यक फ़ील्ड के बाद $unwind
दस्तावेज़ों में सरणी को विघटित करने के लिए समतल करना।
[{
"$project":{
"_id":0,
"className":1,
"deviceStatus":{
"$map":{
"input":"$deviceStatus",
"as":"result",
"in":{
"deviceName":"$$result.deviceName",
"errorCode":"$$result.errorCode"
}
}
}
}
},
{"$unwind":"$deviceStatus"}
]
या
4. ताज़ा करने की पुष्टि करें - हाँ क्लिक करें
5. सभी उपलब्ध फ़ील्ड को चयनित बहु-चयन ड्रॉप बॉक्स में ले जाएँ - समाप्त पर क्लिक करें
6.पूर्वावलोकन परिणाम
{"className":"store", "deviceStatus":{"deviceName":"CardReader","errorCode":"97080301"}}
{"className":"store", "deviceStatus":{ "deviceName":"CashAcceptor","errorCode":"97080302,97080303"}}
{"className":"store","deviceStatus":{"deviceName":"CashDispenser","errorCode":""}}