यदि आपके पास बहुत अधिक डेटा है, तो मैं उसी दृष्टिकोण के साथ रहूंगा और जब भी किसी उपयोगकर्ता के लिए कोई नया संदेश जोड़ा जाता है, तो कुछ इस तरह के संग्रह का उपयोग करके मैं एक समग्र काउंटर बढ़ाऊंगा:
गिनती
{
userid: 123,
messages: 10
}
दुर्भाग्य से (या सौभाग्य से?) MongoDB में कोई ट्रिगर नहीं हैं, इसलिए आप काउंटर को अपने एप्लिकेशन लॉजिक से बढ़ाएंगे:
db.counts.update( { userid: 123 }, { $inc: { messages: 1 } } )
यह आपको सर्वश्रेष्ठ प्रदर्शन देगा, और आप शायद userid
पर एक अनुक्रमणिका भी डालेंगे तेज़ लुकअप के लिए फ़ील्ड:
db.counts.ensureIndex( { userid: 1 } )