javascript - तिथि स्ट्रिंग द्वारा फायरबेस क्वेरी




firebase firebase-database (2)

मुझे पता है कि टाइमस्टैम्प द्वारा क्वेरी करना संभव है जैसा कि पिछले प्रश्न में देखा गया है, हालांकि, अगर निम्नलिखित प्रारूप में तारीख क्या है:

{
  "lambeosaurus": {
     "date" : "2012-20-03",
     "length" : 12.5,
     "weight": 5000
  },
 "stegosaurus": {
     "date" : "2015-25-13",
     "length" : 9,
     "weight" : 2500
  }
}

मैं इस तिथि तक कैसे जाऊंगा और इसके बारे में कैसे पूछूंगा?


आपने अपनी तारीखों को तार के रूप में संग्रहीत किया है। जब फायरबेस ऑर्डर स्ट्रिंग्स करता है तो यह लेक्सिकोग्राफिक ऑर्डरिंग का उपयोग करता है। उस क्रम में, "2012-20-03" से पहले आता है।

यही कारण है कि आपके (और फायरबेस डॉक्यूमेंटेशन) से जुड़ा सवाल आमतौर पर timestamps रूप में तारीखों को संग्रहीत करता है। उन लोगों के पास तारीख के बारे में सारी जानकारी है, जो एकल संख्या में सही ढंग से ऑर्डर करने की गारंटी है।

वैकल्पिक रूप से, आप तारीख को एक स्ट्रिंग के रूप में संग्रहीत कर सकते हैं। लेकिन उस मामले में आपको यह सुनिश्चित करना होगा कि तारीख एक प्रारूप में है, जो सही ढंग से भी सही ढंग से आदेश देगा। आपके नमूने के लिए: "2012-01-25" और "2012-03-20"

तो इस मामले में आपका एकमात्र विकल्प डेटा संरचना को या तो मूल प्रश्न (और प्रलेखन) में या उस स्ट्रिंग प्रारूप में बदलना है जो आप चाहते हैं।


इसे टाइमस्टैम्प में बदलें:

new Date('2012-20-03'.split('-').reverse().join('/')).getTime()

सामान्य रूप में :

   function toTimeStamp(dateString){
       return new Date(dateString.split('-').reverse().join('/')).getTime()

   }





firebase-realtime-database