मुझे मोंगोडीबी दस्तावेज़ों में उदाहरणों की तुलना में थोड़ा अधिक जटिल चाहिए और मैं इसके चारों ओर अपने सिर को लपेटने में सक्षम नहीं लग रहा हूं।मोंगोडीबी के मानचित्र का उपयोग/दो क्षेत्रों में "समूह द्वारा"
मैं प्रपत्र {date: "2010-10-10", type: "EVENT_TYPE_1", user_id: 123, ...}
अब मैं क्वेरी द्वारा किसी SQL ग्रुप को कुछ इसी तरह प्राप्त करना चाहते हैं की वस्तुओं का संग्रह है, दोनों की तारीख और प्रकार से अधिक समूहीकरण कहो। यही है, मैं हर दिन प्रत्येक प्रकार की घटनाओं की संख्या चाहता हूं। इसके अलावा, मैं इसे user_id द्वारा अद्वितीय बनाना चाहता हूं, यानी। यदि किसी उपयोगकर्ता के पास उसी दिन अधिक घटनाएं होती हैं, तो इसे केवल एक बार गिनें।
मैं इसे मानचित्र/कम करने के साथ करने की कोशिश कर रहा हूं।
मुझे क्या करना
db.logs.mapReduce(
function() {
emit(this.type, 1);
},
function(k, vals) {
var total = 0;
for (var i = 0; i < vals.length; i++)
total += vals[i];
return total;
}
)
जो अच्छी तरह से, प्रकार के आधार पर समूहों लेकिन अब, कैसे कर सकते हैं मैं एक ही समय में दिनांक के आधार पर समूह? एमिट में कुंजी लगता है() एक सरणी नहीं हो सकती है (मैंने emit([this.date, this.type], 1)
करने के बारे में सोचा था)। साथ ही, मैं प्रति उपयोगकर्ता विशिष्टता कैसे सुनिश्चित कर सकता हूं?
मैं अभी मोंगोडीबी से शुरू कर रहा हूं और मुझे अभी भी बुनियादी अवधारणाओं को समझने में परेशानी हो रही है। इसके अलावा, वहाँ बहुत अधिक दस्तावेज उपलब्ध नहीं है। अधिक अनुभवी उपयोगकर्ताओं से किसी भी मदद की सराहना की जाती है। धन्यवाद!
couchdb सरणी के रूप में सरणी कर सकता है, बस कहें ' – dominic