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

डेटाटाइम द्वारा पाइमोंगो समूह

हाँ। आप दिनांक ऑपरेटरों का उपयोग कर सकते हैं $substr के साथ और $concat यह सब एक साथ बाँधने के लिए।

db.test.aggregate([
    {"$group": {
        "_id" : { "$concat": [
            {"$substr": [{"$year": "$date"}, 0, 4 ]},
            "-",
            {"$substr": [{"$month": "$date"}, 0, 2 ]},
            "-",
            {"$substr": [{"$dayOfMonth": "$date"}, 0, 2 ]},
        ]},
        "count": {"$sum": 1 }
     }},
     {"$sort": { "_id": 1 }}
])

आप केवल दिनांक ऑपरेटरों का उपयोग कर सकते हैं और एक दस्तावेज़ बना सकते हैं जैसे:

"day": { 
    "year": {"$year": "$date" },
   "month": {"$month": "$date"}, 
   "day": {"$dayOfYear": "$date"}
}

वही काम करता है। लेकिन यह आपको एक अच्छी स्ट्रिंग देता है। यह इस तथ्य का उपयोग करता है कि $substr पूर्णांक से स्ट्रिंग में डाला जाएगा। अगर वह कभी भी दस्तावेज़ीकरण में जुड़ जाता है।

दिनांक ऑपरेटरों को देखें तारीखों पर इस्तेमाल किए जा सकने वाले अन्य टाइम डिवीजनों पर उपयोग के लिए दस्तावेज।

बेहतर अभी तक, बीएसओएन दिनांक वापस करने के लिए दिनांक गणित का उपयोग करें:

import datetime

db.test.aggregate([
    { "$group": {
        "_id": {
            "$add": [
               { "$subtract": [
                   { "$subtract": [ "$date", datetime.datetime.utcfromtimestamp(0) ] },
                   { "$mod": [
                       { "$subtract": [ "$date", datetime.datetime.utcfromtimestamp(0) ] },
                       1000 * 60 * 60 * 24
                   ]}
               ]},
               datetime.datetime.utcfromtimestamp(0)
           ]
        },
        "count": { "$sum": 1 }
    }},
    { "$sort": { "_id": 1 } }
])

यहां datetime.datetime.utcfromtimestamp(0) "युग" का प्रतिनिधित्व करने वाली बीएसओएन तिथि के रूप में पाइपलाइन में खिलाया जाएगा। जब आप $subtract एक बीएसओएन दिनांक दूसरे से मिलीसेकंड में अंतर वापस कर दिया जाता है। यह आपको $mod एक दिन से शेष मिलीसेकंड का अंतर प्राप्त करने के लिए परिणाम।

$add के बारे में भी यही सच है जहां एक बीएसओएन तिथि को एक संख्यात्मक मान में "जोड़ने" के परिणामस्वरूप बीएसओएन तिथि होगी।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB रिएक्टिव स्ट्रीम अल्पाक्का मोंगो कनेक्टर ClassNotFoundException के साथ रन-टाइम निर्भरता त्रुटि

  2. Mongodb findOneAndUpdate फ़ंक्शन नया दस्तावेज़ सम्मिलित कर रहा है

  3. वस्तुओं की एक सरणी से एक तत्व प्राप्त करें जो एक दस्तावेज़ का हिस्सा है (नेवला)

  4. मोंगोडीबी - पेजिंग

  5. नेवला दस्तावेज़ में डिफ़ॉल्ट तिथि अभी सेट करें + [कुछ वेतन वृद्धि]