2016-02-01 6 views
5

मुझे नया मोंगो पसंद नहीं है, MongoDB को PHP7 में कई libs की आवश्यकता है।मोंगो क्लाइंट और मोंगोडीबी के बीच तुलना। मोंगो क्लाइंट बेहतर क्यों है?

php 5 में मोंगो क्लाइंट (बहिष्कृत) अधिक आरामदायक और हल्का है!

मैं एक स्क्रिप्ट शुरू करने का फैसला और दो संस्करणों की तुलना और परिणाम काफी आश्चर्य की बात कर रहे हैं है

MongoDB (PHP 7.0.2)

$client = new MongoDB\Client(
    'mongodb://root:[email protected]:port', 
    ['readPreference' => 'secondaryPreferred'] 
); 
$db = $client->selectDatabase('namedb'); 
$collection = $client->selectCollection('namedb', 'test'); 
$document = $collection->findOne(['_id' => 'works']); 
var_dump($document); 
$time  = microtime(); 
$time  = explode(' ', $time); 
$time  = $time[1] + $time[0]; 
$finish  = $time; 
$total_time = round(($finish - $start), 4); 
echo '<br><br>Page generated in ' . $total_time . ' seconds.'; 

मोंगो/MongoClient (PHP 5.6.17)

$db = new MongoClient('mongodb://root:[email protected]:port'); 
$c = $db->namedb->test; 
$a = $c->findOne(array("_id" => 'works')); 
var_dump($a); 
$time  = microtime(); 
$time  = explode(' ', $time); 
$time  = $time[1] + $time[0]; 
$finish  = $time; 
$total_time = round(($finish - $start), 4); 
echo '<br><br>Page generated in ' . $total_time . ' seconds.'; 

Comparision between MongoClient (PHP 7.0.2) and MongoDB(PHP 5.6.17)

कोई और इस समस्या का अनुभव करता है? मुझे मोंगोडीबी के नए संस्करण का उपयोग करने में कोई लाभ नहीं मिल रहा है, सभी समस्याएं हैं!

+1

'मोंगोडीबी' केवल निम्न स्तर की एपीआई प्रदान करता है। यदि आप मोंगो डीबी ड्राइवर जैसे उच्च स्तरीय एपीआई चाहते हैं तो अन्य भाषाओं के लिए वितरित करें, आपको मोंगोडीबी के PHPLib का उपयोग करने की आवश्यकता है। MongoDB के बारे में php मैन्युअल जांचें, phplib वहां जुड़ा हुआ है। –

+1

इसके अलावा आपको 'microtime (true)' का उपयोग करने की आवश्यकता है! 'सत्य' पर सेट तर्क के बिना आपको एक स्ट्रिंग वापस मिल जाएगी, जो आपको गणित परिचालन में गलत परिणाम देगा। –

+0

'$ start = microtime (true); .... आपके mongodb संचालन ... $ totaltime = microtime (सच) - $ शुरू; 'वास्तव में विस्फोट या कुछ भी करने की जरूरत नहीं है। –

उत्तर

0

MongoClient एक PHP ड्राइवर के रूप में लिखा गया एक मूल ड्राइवर है।

MongoDB PHP कोड है जो एक अलग PHP एक्सटेंशन का उपयोग करता है। मुझे लगता है कि नया एक्सटेंशन बनाए रखना आसान है क्योंकि यह PHP के अलावा अन्य परियोजनाओं द्वारा उपयोग की जाने वाली libmongoc लाइब्रेरी साझा करता है।

किसी PHP ड्राइवर को मूल ड्राइवर की तुलना करना एक अनुचित तुलना है। यदि आप प्रदर्शन की तुलना करना चाहते हैं तो आपको एक मूल ड्राइवर को दूसरे के खिलाफ सीधे प्रयास करना चाहिए।

मैं MongoDB

पहले के नए संस्करण का उपयोग कर और महत्वपूर्ण बात में कोई लाभ नहीं मिल रहा है, पुराने MongoClient विस्तार मान्य नहीं है। यह केवल तभी जीवित रहेगा जब आप या अन्य इसे चुनने और इसे बनाए रखने का विकल्प चुनते हैं। यद्यपि एक ही कार्य के लिए दो समान पुस्तकालयों को भ्रमित करना होगा (mysql बनाम mysqli देखें)।

MongoDB एक उच्च स्तर का अमूर्तता प्रदान करने के लिए है और आप शायद मूल चालक की तुलना में अधिक बार सुविधा अपडेट देखने की उम्मीद कर सकते हैं।

संबंधित मुद्दे