/ / MongoDB में कुछ क्षेत्रों के सभी मूल्य प्राप्त करें - नोड। जेएस, डेटाबेस, मोंगोडब

MongoDB - node.js, डेटाबेस, mongodb में कुछ फ़ील्ड के सभी मान प्राप्त करें

मेरे पास इस तरह की वस्तुएँ हैं:

{
model:"Samsung Galaxy Note 8",
cpu : "Snapdragon 835 Exynos 8895",
storage: "64/128/256 GB",
removable:"256GB microSDXC",
ram: "6 GB",
os: "Android 7.1.1 "Nougat"",
size:{
l:162.5,
h:74.8,
w:8.6
},
weight:195,
battery:"3300 mAh Li-Ion, non-removable battery",
display:"6.3", 2960x1440",
camera:{
rear:12,
front:8
},
image:"https://image.com"
}

मैं उदाहरण के लिए cpus और मेढ़े के सभी अलग-अलग मूल्यों को चाहता हूं। यदि मैं अलग-अलग () मोंगोडब फ़ंक्शन का उपयोग करता हूं, तो मुझे केवल एक फ़ील्ड के सभी मान मिल सकते हैं, लेकिन अगर मुझे कई फ़ील्ड चाहिए?

उत्तर:

जवाब के लिए 0 № 1

आप एकत्रीकरण का उपयोग कर सकते हैं। नीचे की तरह और यह आपको सीपीयू और रैम के सभी अलग-अलग संयोजन देगा:

db.datastorevalues.aggregate(
[

{
$group: {
_id:{
"cpu ":"$cpu ",
"ram":"$cpu "
}
}
}
]

);

यदि आप cpus के लिए सभी विशिष्ट मान और डेटाबेस में मेढ़े के लिए सभी विशिष्ट मान चाहते हैं

db.datastorevalues.aggregate(
[

{
$group: {
_id: null,
cpus: {$addToSet: "$cpu"},
rams: {$addToSet: "$ram"},

}
}
]
);

जवाब के लिए 0 № 2

आप उपयोग कर सकते हैं $ कुल। एकत्रीकरण पाइपलाइन में बहुत उपयोगी विधियां हैं।

समूह के लिए क्वेरी अलग करें और cpus और ram पर अलग-अलग मान ढूंढें

db.so.aggregate([{$group:{_id:{ram:"$ram", cpu:"$cpu"}}}])