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

डेलाइट सेविंग ऑफ़सेट के साथ तिथि के अनुसार कुल समूह

यहां मूल अवधारणा यह है कि आपकी क्वेरी को "जागरूक" बनाया जाए कि दी गई क्वेरी अवधि के लिए "दिन के उजाले की बचत" दोनों "शुरू" और "समाप्त" होती है और बस इस परीक्षण को $cond यह निर्धारित करने के लिए कि किस "ऑफ़सेट" का उपयोग करना है:

db.collection.aggregate([
    { "$group": {
       "_id": {
           "$week": {
               "$add": [
                  "$Timestamp",
                  { "$cond": [
                      { "$and": [
                          { "$gte": [
                             { "$dayOfyear": "$Timestamp" },
                             daylightSavingsStartDay 
                          ]},
                          { "$lt": [ 
                             { "$dayOfYear": "$Timestamp" },
                             daylightSavingsEndDay
                          ]}
                      ]},
                      daylightSavingsOffset,
                      normalOffset
                  ]}
               ]
           }
       },
       "min": { "$min": "$Timestamp" }
    }}
])

तो आप कई वर्षों को कवर करते समय इसे थोड़ा और जटिल बना सकते हैं, लेकिन यह अभी भी मूल सिद्धांत है। दक्षिणी गोलार्ध में आप हमेशा होते हैं एक वर्ष तक फैली हुई है, इसलिए प्रत्येक शर्त "शुरुआत" से "वर्ष के अंत" और "वर्ष की शुरुआत" से "अंत" की "सीमा" होगी। इसलिए एक $or एक आंतरिक $and . के साथ "रेंज" के भीतर ऑपरेटरों ने प्रदर्शन किया।

यदि आपके पास लागू करने के लिए अलग-अलग मान हैं, तो पता लगाएं कि आपको कब "चाहिए" चुनना चाहिए और फिर $cond




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. लेखन त्रुटि:nodejs का उपयोग कर monogdb में शून्य की संपत्ति 'आइटम' पढ़ा नहीं जा सकता

  2. मैक ओएस एक्स के साथ डॉकर मोंगोडब शेयर वॉल्यूम

  3. dns . के रूप में ईएलबी समापन बिंदु के साथ मोंगोडब क्लस्टर

  4. rmongodb:$ या क्वेरी में उपयोग करना

  5. मैं js . का उपयोग करके एक खाली सरणी को मोंगोडब में कैसे सहेज सकता हूं