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

Mongo से PHP का उपयोग करके JSON को डिकोड करना

MongoDB नहीं करता है डेटा को JSON के रूप में स्टोर करें।

आपके द्वारा चिपकाया गया दस्तावेज़ शेल से कॉपी और पेस्ट लगता है। यह JSON प्रारूप भी नहीं है। इस प्रारूप को विस्तारित JSON कहा जाता है - और यह है कि कैसे MongoDB शेल जावास्क्रिप्ट में डेटा का प्रतिनिधित्व करता है। MongoDB वेबसाइट पर अधिकांश उदाहरण भी इस प्रारूप का उपयोग करते हैं क्योंकि यह सरल और आसान है। इसलिए इसके बजाय दर्जनों अलग-अलग आउटपुट स्वरूप (प्रत्येक भाषा चालक के लिए) हैं, MongoDB आधिकारिक दस्तावेज कार्यक्षमता और आउटपुट को प्रदर्शित करने के लिए शेल का उपयोग करते हैं।

वास्तविक अंडरलेइंग प्रारूप को बाइनरी JSON (बीएसओएन) कहा जाता है। आप इस प्रारूप को कभी नहीं देख पाएंगे और आप इसके साथ कभी भी बातचीत नहीं करेंगे।

जब आप PHP में MongoDB के साथ इंटरैक्ट करते हैं तो आपको केवल यह जानना होगा कि आप एक PHP ऐरे को सेव करते हैं। MongoDB से लौटाया गया डेटा भी एक PHP सरणी है। अंडरलेइंग डिस्क प्रारूप प्रासंगिक नहीं है।

आपको कभी भी json_encode() या json_decode() पर कॉल करने की ज़रूरत नहीं है।

$collection->find($query) विधि MongoCursor नामक वस्तु लौटाती है। परिणाम प्राप्त करने के लिए आपको इस ऑब्जेक्ट पर पुनरावृति करनी चाहिए, जो एक PHP सरणी होगी।

foreach($collection->find($query) as $result) {
    var_dump($result);
}

यह कोड उदाहरण var_dump() एक बार में एक परिणाम देगा। यह result एक "MongoDB दस्तावेज़" कहा जाता है और "MySQL पंक्ति" के समान है। MySQL की तरह, आपको यह जानने की ज़रूरत नहीं है कि अंडरलेइंग प्रोटोकॉल क्या है, या अंडरलेइंग डिस्क प्रारूप क्या है - इसका आप पर कोई प्रभाव नहीं पड़ता है।

मेरा सुझाव है कि आप MongoDB PHP ड्राइवर ट्यूटोरियल पढ़ें:http://us2। php.net/manual/hi/mongo.tutorial.php

यह ड्राइवर के काम करने के तरीके के साथ अवधारणा को थोड़ा बेहतर तरीके से समझाना चाहिए :)




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

  2. नेवला डिफ़ॉल्ट सत्यापन का विस्तार करता है

  3. क्या MongoDB के $in खंड में तर्कों की संख्या में कोई अधिकतम सीमा है

  4. नेवला:ObjectId पर कास्ट करना विफल रहा

  5. क्या मुझे मोंगोडीबी (मोंगोडीबी + नोड जेएस कॉम्बो) में डालने से पहले उपयोगकर्ता इनपुट को स्वच्छ करने की आवश्यकता है