Non mi piace il nuovo mongo, MongoDB richiede diverse librerie in PHP7.Confronto tra MongoClient e MongoDB. Perché MongoClient è migliore?
MongoClient (deprecato) in php 5 è molto più comodo e leggero!
ho deciso di lanciare uno script e confrontando le due versioni ed i risultati sono abbastanza sorprendenti:
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.';
Mongo/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.';
Qualcun altro ha riscontrato questo problema? Non riesco a trovare alcun vantaggio nell'usare la nuova versione di MongoDB, tutti sono problemi!
'MongoDB' offre solo un'API di basso livello. Se si desidera un'API di livello superiore come il driver MongoDB per altre lingue, è necessario utilizzare PHPLib di MongoDB. Controlla il manuale php su MongoDB, il phplib è collegato lì. –
Anche tu devi usare 'microtime (true)'! Senza l'argomento impostato su 'true' otterrai una stringa restituita, che ti darà risultati errati nelle operazioni matematiche. –
'$ start = microtime (true); .... le tue operazioni mongodb ... $ totaltime = microtime (true) - $ start; 'Non c'è davvero bisogno di esplodere o altro. –