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

MongoDB:कक्षा java.lang.Double को कक्षा java.lang.Long में नहीं डाला जा सकता है

समस्या शायद यह है कि किसी भी संकेतित फ़ील्ड को वास्तव में Double . के रूप में संग्रहीत किया जाता है Long . के बजाय ।

जैसा कि आप स्रोत कोड Document का क्लास, getLong . में विधि आप निम्न पा सकते हैं:

return (Long) get(key);

यह कास्ट वह है जो मोंगो ड्राइवर द्वारा रिपोर्ट की गई त्रुटि का कारण बन रही है।

क्या यह संभव है कि आपके कुछ टाइमस्टैम्प जावास्क्रिप्ट और नोडजेएस के साथ बनाए गए हों, शायद मोंगो शैल के साथ? यदि ऐसा है, तो आप टाइमस्टैम्प कैसे बनाते हैं, इस पर निर्भर करते हुए, आपके फ़ील्ड का मान double के रूप में डाला जा सकता है जिस तरह से जावास्क्रिप्ट में संख्याओं का प्रतिनिधित्व किया जाता है।

मोंगो शेल दस्तावेज इंगित करता है :

और :

इस मुद्दे को SO में इस प्रश्न . यह काफी पुराना है, लेकिन यह आपकी समस्या का संभावित स्पष्टीकरण हो सकता है।

यह लेख , हालांकि यह काफी पुराना है और आपकी समस्या से सीधे तौर पर संबंधित नहीं है, कुछ अतिरिक्त पृष्ठभूमि प्रदान करता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoError:mongoosejs का उपयोग करते समय mLab से कनेक्ट होने पर डेटाबेस नामों में वर्ण '' नहीं हो सकता है

  2. मोंगोडब क्वेरी अनुकूलन में शामिल हों

  3. मोंगोडीबी $cond

  4. MongoDB mongorestore और रिकॉर्ड के साथ मौजूदा संग्रह

  5. मोंगोडब पढ़ें वरीयताएँ