मैं MongoDB जानने के लिए शुरू करते हैं और मुझे लगता है कि जैसे दस्तावेज़ों के साथ काम:MongoDB के साथ सरणी के पहले तत्व द्वारा समूह कैसे करें?
{
"_id" : ObjectId("562fac8a4f9ecec40f5b8ff9"),
"foo" : {
"objectid" : "39",
"stuff" : "65"
},
"yearpublished" : [
"1979"
],
"bar": "1263"
}
yearpublished एक सरणी है और मैं समूह के लिए इस सरणी में पहली मूल्य के आधार पर अपने संग्रह की तरह तो संबंधित दस्तावेज़ों की मात्रा में गिना जाएगा ।
मैं पहले से ही इस क्वेरी किया:
db.foobar.aggregate(
[
{
$group : {
_id : '$yearpublished',
count: { $sum: 1 }
}
}
]
)
और मिलती है:
{
"result" : [
{
"_id" : [
"1923"
],
"count" : 1.0000000000000000
},
{
"_id" : [
"1864"
],
"count" : 1.0000000000000000
}
}
लेकिन मैं परिणाम के इस प्रकार के लिए देख रहा हूँ (यानी पहला तत्व केवल):
{
"result" : [
{
"_id" : "1923,
"count" : 1.0000000000000000
},
{
"_id" : "1864",
"count" : 1.0000000000000000
}
}
मैंने सफलता के बिना _id : { $first: '$yearpublished.0' },
या _id : { $first: '$yearpublished[0]' },
की कोशिश की।
क्या आप जानते हैं कि मैं सरणी वर्ष के पहले तत्व द्वारा समूहित कर सकता हूं?
इस पूर्ण उत्तर के लिए बहुत बहुत धन्यवाद। – Alex