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

Mongo-PHP - MongoDB PHP ड्राइवर v1.6 . के साथ MongoCursor अपवाद

यह एक बग से संबंधित हो सकता है जिसे hasNext() के साथ पुनरावृति के संबंध में 1.6.0 में पेश किया गया था और getNext() :PHP-1382 . तब से एक सुधार को v1.6<में मिला दिया गया है /कोड> शाखा और इस सप्ताह के अंत में 1.6.1 के रूप में जारी किया जाना चाहिए।

उस ने कहा, hasNext() . के बारे में बग वास्तव में यह था कि परिणाम सेट में अंतिम दस्तावेज़ पुनरावृत्ति करते समय छूट जाएगा। यदि मैं आपकी मूल स्क्रिप्ट को 1.6.0 के विरुद्ध चलाता हूं, तो सरणी में एक null होता है इसके अंतिम तत्व के रूप में मूल्य। जगह में सुधार के साथ, सरणी में अपेक्षित सभी दस्तावेज़ होंगे। आप जो अपवाद देख रहे हैं उसे मैं किसी भी संस्करण के साथ पुन:पेश नहीं कर सकता।

यह अपवाद वास्तव में सी डेटा संरचनाओं पर आंतरिक जांच से फेंक दिया गया है, यह सुनिश्चित करने के लिए कि कर्सर ऑब्जेक्ट मोंगो क्लाइंट और सॉकेट कनेक्शन से ठीक से जुड़ा हुआ है। देखें MONGO_CHECK_INITIALIZED() इस फ़ाइल में मैक्रो कॉल करता है . अधिकांश कर्सर विधियाँ जाँचती हैं कि एक MongoClient संबद्ध है, लेकिन hasNext() इसमें अद्वितीय है कि यह सॉकेट ऑब्जेक्ट की भी जांच करता है (मेरा मानना ​​​​है कि अन्य विधियां मान लें कि मोंगो क्लाइंट के साथ एक कर्सर भी सॉकेट है)। यदि वह अपवाद वास्तव में आपके लिए पुनरुत्पादित है और आप एक्सटेंशन के साथ कुछ डिबगिंग करने के इच्छुक हैं, तो मुझे यह जानने में बहुत दिलचस्पी होगी कि दोनों में से कौन सा चेक त्रुटि फेंक रहा है।

एक साइड नोट के रूप में, आपको "replicaSet" . भी निर्दिष्ट करना चाहिए MongoClient का निर्माण करते समय विकल्प। इसमें प्रतिकृति सेट नाम होना चाहिए, जो यह सुनिश्चित करता है कि ड्राइवर मेजबानों से कनेक्शन को ठीक से अनदेखा कर सकता है जो इच्छित प्रतिकृति सेट के सदस्य नहीं हैं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में दस्तावेज़ों से केवल एक या दो फ़ील्ड कैसे निकालें?

  2. GridFs का उपयोग करके mongoDB से छवियों को पढ़ना और प्रदर्शित करना

  3. स्प्रिंग डेटा MongoDB में एग्रीगेशनऑपरेशन की सूची से एग्रीगेशन कैसे बनाएं?

  4. JSON ऑब्जेक्ट स्ट्रक्चर को डॉट नोटेशन में कैसे बदलें?

  5. सभी मोंगोडब संग्रहों को फिर से अनुक्रमित करने का आदेश