क्या किसी सरणी के विशिष्ट तत्व द्वारा समूह में समेकन ढांचे का उपयोग करना संभव है?मोंगो एकत्रीकरण ढांचे के साथ सरणी के विशिष्ट तत्व द्वारा समूह
इस तरह दस्तावेजों के साथ इस तरह की है कि:
{
name: 'Russell',
favourite_foods: [
{ name: 'Pizza', type: 'Four Cheeses' },
{ name: 'Burger', type: 'Veggie'}
],
height: 6
}
मैं शीर्ष पसंदीदा भोजन की एक अलग सूची मिल सकता है (यानी सूचकांक 0 में खाद्य पदार्थ।) जो शीर्ष पसंदीदा भोजन है कि सबसे ऊंची व्यक्ति की ऊंचाई के साथ ?
कुछ इस तरह (हालांकि यह सरणी सूचकांक पहुँच डॉट नोटेशन के रूप में काम नहीं करता है एकत्रीकरण ढांचे में काम करने के लिए प्रतीत नहीं होता है):
db.people.aggregate([
{ $group : { _id: "$favourite_foods.0.name", max_height: { $max : "$height" } } }
])
हाँ, मैंने इसे देखा। मुझे उम्मीद है कि कोई कामकाज के साथ आया था ... – Russell
आप स्थिति के आधार पर एक मनमाना तत्व निकालने नहीं कर सकते हैं, आपके पास पहले या आखिरी $ $ $ के साथ $ 1 या $ अंतिम ऑपरेटर के साथ $ 1 अनइंड और फिर से $ समूह प्राप्त करने का कोई तरीका होता है। –
** अच्छी खबर **: उस मुद्दे को अंततः [$ arrayElementAt ऑपरेटर] (https://docs.mongodb.com/manual/reference/operator/aggregation/arrayElemAt/) – joeytwiddle