MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB:किसी फ़ील्ड की गणना कैसे करें यदि उसका मान किसी शर्त से मेल खाता है?

निम्नलिखित एकत्रीकरण पाइपलाइन का उपयोग करें:

db.click_log.aggregate([
    { "$match" : { "log.type" : { "$ne" : "emailed" } } }, // get rid of docs with an "emailed" value in log.type and docs not from this month
    { "$unwind" : "$log" }, // unwind to get log elements as separate docs
    { "$project" : { "_id" : 1, "log" : 1, "month" : { "$month" : "$log.utc_timestamp" } } },
    { "$match" : { "log" : "clicked", "month" : <# of month> } }, // get rid of log elements not from this month and that aren't type clicked
    { "$group" : { "_id" : "$_id", "count" : { "$sum" : 1 } } } // collect clicked elements from same original doc and count number
])

यह वापस आ जाएगा, प्रत्येक दस्तावेज़ के लिए log.type . के मान के रूप में "ईमेल" नहीं किया गया है , सरणी के तत्वों की संख्या log जिनके पास log.type . है मान clicked और चालू माह से टाइमस्टैम्प के साथ। यदि आप महीने के लिए 30-दिन की स्लाइडिंग अवधि चाहते हैं, तो $match . बदलें $gt . के साथ एक श्रेणी क्वेरी होने के लिए और $lt वांछित समय अवधि को कवर करना।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. आधिकारिक C# ड्राइवर का उपयोग करके MongoDB Bson दस्तावेज़ को क्रमानुसार/डिसेरिएलाइज़ करें

  2. डेबियन से मोंगोडब को हटा, शुद्ध, अनइंस्टॉल नहीं कर सकता

  3. व्यवस्थापक में एंबेडेड ऑब्जेक्ट्स युक्त ListField का उपयोग करके Django-nonrel

  4. मोंगोडब में अपवोट/डाउनवोट संग्रहित करना

  5. क्या मोंगोक्ली ऐप्पल एम1 चिप्स के लिए फॉर्मूला यूआरएल का समर्थन करता है?