gpt4 book ai didi

php - MongoClient 和 MongoDB 的比较。为什么 MongoClient 更好?

转载 作者:可可西里 更新时间:2023-11-01 09:06:23 25 4
gpt4 key购买 nike

我不喜欢新的 mongo,MongoDB 在 PHP7 中需要几个库。

PHP 5 中的 MongoClient(已弃用)更加舒适和轻便!

我决定启动一个脚本并比较两个版本,结果非常令人惊讶:

MongoDB(PHP 7.0.2)

$client = new MongoDB\Client(
'mongodb://root:password@localhost: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:password@localhost: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)

还有其他人遇到过这个问题吗?使用新版本的MongoDB我找不到任何好处,都是问题!

最佳答案

MongoClient 是作为 PHP 扩展编写的 native 驱动程序。

MongoDB 是使用不同 PHP 扩展的 PHP 代码。我认为新扩展更易于维护,因为它共享 PHP 以外的项目使用的 libmongoc 库。

将 native 驱动程序与 PHP 库进行比较是一种不公平的比较。如果您想比较性能,您应该直接将一个 native 驱动程序与另一个 native 驱动程序进行比较。

I can't find any benefit in using the new version of MongoDB

首先,旧的 MongoClient 扩展已弃用。只有当您或其他人选择捡起并维护它时,它才会继续存在。尽管为同一任务使用两个相似的库会让人感到困惑(请参阅 mysql 与 mysqli)。

MongoDB 旨在提供更高级别的抽象,您可能会看到比本地驱动程序更频繁的功能更新。

关于php - MongoClient 和 MongoDB 的比较。为什么 MongoClient 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35135464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com